Merge pull request #12980 from danielnachun/add_tag_to_cellar

Add tag_to_cellar method
This commit is contained in:
Daniel Nachun 2022-03-11 12:59:05 -08:00 committed by GitHub
commit f0f1eb6d4a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 3 deletions

View File

@ -504,14 +504,19 @@ class BottleSpecification
end
end
sig { params(tag: Utils::Bottles::Tag).returns(T::Boolean) }
def compatible_locations?(tag: Utils::Bottles.tag)
sig { params(tag: Utils::Bottles::Tag).returns(T.any(Symbol, String)) }
def tag_to_cellar(tag = Utils::Bottles.tag)
spec = collector.specification_for(tag)
cellar = if spec.present?
if spec.present?
spec.cellar
else
tag.default_cellar
end
end
sig { params(tag: Utils::Bottles::Tag).returns(T::Boolean) }
def compatible_locations?(tag: Utils::Bottles.tag)
cellar = tag_to_cellar(tag)
return true if [:any, :any_skip_relocation].include?(cellar)

View File

@ -41,6 +41,18 @@ describe BottleSpecification do
end
end
describe "#compatible_locations?" do
it "checks if the bottle cellar is relocatable" do
expect(bottle_spec.compatible_locations?).to be false
end
end
describe "#tag_to_cellar" do
it "returns the cellar for a tag" do
expect(bottle_spec.tag_to_cellar).to eq Utils::Bottles.tag.default_cellar
end
end
%w[root_url rebuild].each do |method|
specify "##{method}" do
object = Object.new