aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorAlyssa Ross2016-10-10 13:26:09 +0100
committerAlyssa Ross2016-10-25 22:36:13 +0100
commitc4c855b9fc8695664a66dd7822a483b91e3e26e3 (patch)
tree2ce2fb61d54b3f78428f6e53345789efd779bdec /Library
parenta4dc835ba06e7d1cd2a6b6b4ffacf4416b35ffea (diff)
downloadbrew-c4c855b9fc8695664a66dd7822a483b91e3e26e3.tar.bz2
ARGV: extract #values from missing
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/missing.rb4
-rw-r--r--Library/Homebrew/extend/ARGV.rb7
-rw-r--r--Library/Homebrew/test/test_ARGV.rb15
3 files changed, 23 insertions, 3 deletions
diff --git a/Library/Homebrew/cmd/missing.rb b/Library/Homebrew/cmd/missing.rb
index 44d2aa8ae..d4c07a8c0 100644
--- a/Library/Homebrew/cmd/missing.rb
+++ b/Library/Homebrew/cmd/missing.rb
@@ -18,10 +18,8 @@ module Homebrew
ARGV.resolved_formulae
end
- hide = (ARGV.value("hide") || "").split(",")
-
ff.each do |f|
- missing = f.missing_dependencies(hide: hide)
+ missing = f.missing_dependencies(hide: ARGV.values("hide"))
next if missing.empty?
print "#{f}: " if ff.size > 1
diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb
index 0adf8d548..bd60cbecc 100644
--- a/Library/Homebrew/extend/ARGV.rb
+++ b/Library/Homebrew/extend/ARGV.rb
@@ -121,6 +121,13 @@ module HomebrewArgvExtension
flag_with_value.strip_prefix(arg_prefix) if flag_with_value
end
+ # Returns an array of values that were given as a comma-seperated list.
+ # @see value
+ def values(name)
+ return unless val = value(name)
+ val.split(",")
+ end
+
def force?
flag? "--force"
end
diff --git a/Library/Homebrew/test/test_ARGV.rb b/Library/Homebrew/test/test_ARGV.rb
index 39f32f452..6805e0c62 100644
--- a/Library/Homebrew/test/test_ARGV.rb
+++ b/Library/Homebrew/test/test_ARGV.rb
@@ -62,4 +62,19 @@ class ArgvExtensionTests < Homebrew::TestCase
assert !@argv.flag?("--frotz")
assert !@argv.flag?("--debug")
end
+
+ def test_value
+ @argv << "--foo=" << "--bar=ab"
+ assert_equal "", @argv.value("foo")
+ assert_equal "ab", @argv.value("bar")
+ assert_nil @argv.value("baz")
+ end
+
+ def test_values
+ @argv << "--foo=" << "--bar=a" << "--baz=b,c"
+ assert_equal [], @argv.values("foo")
+ assert_equal ["a"], @argv.values("bar")
+ assert_equal ["b", "c"], @argv.values("baz")
+ assert_nil @argv.values("qux")
+ end
end