Merge pull request #7668 from nandahkrishna/livecheck-url-feature
livecheck: reference Formula URLs
This commit is contained in:
commit
a829fef52e
@ -2670,7 +2670,7 @@ class Formula
|
|||||||
# regex /foo-(\d+(?:\.\d+)+)\.tar/
|
# regex /foo-(\d+(?:\.\d+)+)\.tar/
|
||||||
# end</pre>
|
# end</pre>
|
||||||
def livecheck(&block)
|
def livecheck(&block)
|
||||||
@livecheck ||= Livecheck.new
|
@livecheck ||= Livecheck.new(self)
|
||||||
return @livecheck unless block_given?
|
return @livecheck unless block_given?
|
||||||
|
|
||||||
@livecheckable = true
|
@livecheckable = true
|
||||||
|
|||||||
@ -10,7 +10,8 @@ class Livecheck
|
|||||||
# e.g. `Not maintained`
|
# e.g. `Not maintained`
|
||||||
attr_reader :skip_msg
|
attr_reader :skip_msg
|
||||||
|
|
||||||
def initialize
|
def initialize(formula)
|
||||||
|
@formula = formula
|
||||||
@regex = nil
|
@regex = nil
|
||||||
@skip = false
|
@skip = false
|
||||||
@skip_msg = nil
|
@skip_msg = nil
|
||||||
@ -44,7 +45,14 @@ class Livecheck
|
|||||||
def url(val = nil)
|
def url(val = nil)
|
||||||
return @url if val.nil?
|
return @url if val.nil?
|
||||||
|
|
||||||
@url = val
|
@url = case val
|
||||||
|
when :head, :stable, :devel
|
||||||
|
@formula.send(val).url
|
||||||
|
when :homepage
|
||||||
|
@formula.homepage
|
||||||
|
else
|
||||||
|
val
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns a Hash of all instance variable values.
|
# Returns a Hash of all instance variable values.
|
||||||
|
|||||||
@ -697,6 +697,20 @@ describe Formula do
|
|||||||
|
|
||||||
expect(f.livecheckable?).to be true
|
expect(f.livecheckable?).to be true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
specify "livecheck references Formula URL" do
|
||||||
|
f = formula do
|
||||||
|
homepage "https://brew.sh/test"
|
||||||
|
|
||||||
|
url "https://brew.sh/test-1.0.tbz"
|
||||||
|
livecheck do
|
||||||
|
url :homepage
|
||||||
|
regex(/test-(\d+(?:.\d+)+).tbz/)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
expect(f.livecheck.url).to eq("https://brew.sh/test")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
specify "dependencies" do
|
specify "dependencies" do
|
||||||
|
|||||||
@ -1,9 +1,15 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "formula"
|
||||||
require "livecheck"
|
require "livecheck"
|
||||||
|
|
||||||
describe Livecheck do
|
describe Livecheck do
|
||||||
subject(:livecheckable) { described_class.new }
|
let(:f) do
|
||||||
|
formula do
|
||||||
|
url "https://brew.sh/test-0.1.tbz"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
let(:livecheckable) { described_class.new(f) }
|
||||||
|
|
||||||
describe "#regex" do
|
describe "#regex" do
|
||||||
it "returns nil if unset" do
|
it "returns nil if unset" do
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user