From c4c855b9fc8695664a66dd7822a483b91e3e26e3 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 10 Oct 2016 13:26:09 +0100 Subject: [PATCH] ARGV: extract #values from missing --- Library/Homebrew/cmd/missing.rb | 4 +--- Library/Homebrew/extend/ARGV.rb | 7 +++++++ Library/Homebrew/test/test_ARGV.rb | 15 +++++++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/cmd/missing.rb b/Library/Homebrew/cmd/missing.rb index 44d2aa8aef..d4c07a8c08 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 0adf8d548b..bd60cbeccb 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 39f32f4523..6805e0c620 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