Remove prefix option and add reason argument name

This commit is contained in:
Rylan Polster 2021-05-17 10:55:46 -04:00
parent 9e35b4de21
commit fb3bfbb65c
No known key found for this signature in database
GPG Key ID: 46A744940CFF4D64
2 changed files with 10 additions and 19 deletions

View File

@ -2920,21 +2920,12 @@ class Formula
# the {Formula} will be built from source and `reason` will be printed.
#
# Alternatively, a preset reason can be passed as a symbol:
# <pre>pour_bottle? :default_prefix_required</pre>
# <pre>pour_bottle? :clt_required</pre>
def pour_bottle?(requirement = nil, &block)
# <pre>pour_bottle? reason: :clt_required</pre>
def pour_bottle?(reason: nil, &block)
@pour_bottle_check = PourBottleCheck.new(self)
block ||= case requirement
when :default_prefix_required
lambda do |_|
T.cast(self, PourBottleCheck).reason(+<<~EOS)
The bottle needs to be installed into #{Homebrew::DEFAULT_PREFIX}.
EOS
T.cast(self, PourBottleCheck).satisfy { HOMEBREW_PREFIX.to_s == Homebrew::DEFAULT_PREFIX }
end
when :clt_required
lambda do |_|
if reason == :clt_required
block = lambda do |_|
on_macos do
T.cast(self, PourBottleCheck).reason(+<<~EOS)
The bottle needs the Apple Command Line Tools to be installed.

View File

@ -997,26 +997,26 @@ describe Formula do
end
it "returns false when set with a symbol" do
# Ensure that prefix does not match the default
stub_const "Homebrew::DEFAULT_PREFIX", "foo"
# Pretend CLT is not installed
allow(MacOS::CLT).to receive(:installed?).and_return(false)
f = formula "foo" do
url "foo-1.0"
pour_bottle? :default_prefix_required
pour_bottle? reason: :clt_required
end
expect(f).not_to pour_bottle
end
it "returns true when set with a symbol" do
# Ensure that prefix matches the default
stub_const "Homebrew::DEFAULT_PREFIX", HOMEBREW_PREFIX.to_s
# Pretend CLT is installed
allow(MacOS::CLT).to receive(:installed?).and_return(true)
f = formula "foo" do
url "foo-1.0"
pour_bottle? :default_prefix_required
pour_bottle? reason: :clt_required
end
expect(f).to pour_bottle