aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2014-07-15 21:55:14 -0500
committerJack Nagel2014-07-15 21:55:14 -0500
commitaf5469e38065f67a08d1573803b708a53de033f2 (patch)
treeec39bacb91bf587e2c5cb2962c9c61bdc24daea9
parentff8429d5307779815268d186b4a143e6b5569dd3 (diff)
downloadhomebrew-af5469e38065f67a08d1573803b708a53de033f2.tar.bz2
Implement []= on BottleCollector
-rw-r--r--Library/Homebrew/bottles.rb17
-rw-r--r--Library/Homebrew/software_spec.rb2
-rw-r--r--Library/Homebrew/test/test_bottle_collector.rb12
3 files changed, 18 insertions, 13 deletions
diff --git a/Library/Homebrew/bottles.rb b/Library/Homebrew/bottles.rb
index 56ba8c551..bedafbe8f 100644
--- a/Library/Homebrew/bottles.rb
+++ b/Library/Homebrew/bottles.rb
@@ -68,18 +68,23 @@ class BottleCollector
@bottles = {}
end
- def add(checksum, tag)
- @bottles[tag] = checksum
- end
-
def fetch_bottle_for(tag)
return [@bottles[tag], tag] if @bottles[tag]
find_altivec_tag(tag) || find_or_later_tag(tag)
end
- def keys; @bottles.keys; end
- def [](arg); @bottles[arg]; end
+ def keys
+ @bottles.keys
+ end
+
+ def [](key)
+ @bottles[key]
+ end
+
+ def []=(key, value)
+ @bottles[key] = value
+ end
# This allows generic Altivec PPC bottles to be supported in some
# formulae, while also allowing specific bottles in others; e.g.,
diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb
index 77ad7d42c..06bfe5803 100644
--- a/Library/Homebrew/software_spec.rb
+++ b/Library/Homebrew/software_spec.rb
@@ -172,7 +172,7 @@ class BottleSpecification
Checksum::TYPES.each do |cksum|
define_method(cksum) do |val|
digest, tag = val.shift
- collector.add(Checksum.new(cksum, digest), tag)
+ collector[tag] = Checksum.new(cksum, digest)
end
end
diff --git a/Library/Homebrew/test/test_bottle_collector.rb b/Library/Homebrew/test/test_bottle_collector.rb
index 2fe2bb919..8cf75718a 100644
--- a/Library/Homebrew/test/test_bottle_collector.rb
+++ b/Library/Homebrew/test/test_bottle_collector.rb
@@ -7,8 +7,8 @@ class BottleCollectorTests < Homebrew::TestCase
end
def test_collector_returns_passed_tags
- @collector.add('foo', :lion)
- @collector.add('bar', :mountain_lion)
+ @collector[:lion] = "foo"
+ @collector[:mountain_lion] = "bar"
assert_equal ['bar', :mountain_lion], @collector.fetch_bottle_for(:mountain_lion)
end
@@ -17,19 +17,19 @@ class BottleCollectorTests < Homebrew::TestCase
end
def test_collector_finds_or_later_tags
- @collector.add('foo', :lion_or_later)
+ @collector[:lion_or_later] = "foo"
assert_equal ['foo', :lion_or_later], @collector.fetch_bottle_for(:mountain_lion)
assert_nil @collector.fetch_bottle_for(:snow_leopard)
end
def test_collector_prefers_exact_matches
- @collector.add('foo', :lion_or_later)
- @collector.add('bar', :mountain_lion)
+ @collector[:lion_or_later] = "foo"
+ @collector[:mountain_lion] = "bar"
assert_equal ['bar', :mountain_lion], @collector.fetch_bottle_for(:mountain_lion)
end
def test_collector_finds_altivec_tags
- @collector.add('foo', :tiger_altivec)
+ @collector[:tiger_altivec] = "foo"
assert_equal ['foo', :tiger_altivec], @collector.fetch_bottle_for(:tiger_g4)
assert_equal ['foo', :tiger_altivec], @collector.fetch_bottle_for(:tiger_g4e)
assert_equal ['foo', :tiger_altivec], @collector.fetch_bottle_for(:tiger_g5)