aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorJack Nagel2013-12-09 14:36:10 -0600
committerJack Nagel2013-12-09 14:36:10 -0600
commit677c78d77e917c21dd23ad09add51f93a8c97097 (patch)
tree2fed96ae1babcd583765067ac33b470ed1233c88 /Library/Homebrew
parent109e9dc58bb71d9b17c10c28d434556b56c08b1c (diff)
downloadbrew-677c78d77e917c21dd23ad09add51f93a8c97097.tar.bz2
Pass deps collection to be expanded as a parameter
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/dependency.rb6
-rw-r--r--Library/Homebrew/test/test_dependency_expansion.rb5
2 files changed, 8 insertions, 3 deletions
diff --git a/Library/Homebrew/dependency.rb b/Library/Homebrew/dependency.rb
index fda491b99..f492b9a6e 100644
--- a/Library/Homebrew/dependency.rb
+++ b/Library/Homebrew/dependency.rb
@@ -75,8 +75,8 @@ class Dependency
# the list.
# The default filter, which is applied when a block is not given, omits
# optionals and recommendeds based on what the dependent has asked for.
- def expand(dependent, &block)
- deps = dependent.deps.map do |dep|
+ def expand(dependent, deps=dependent.deps, &block)
+ expanded_deps = deps.map do |dep|
case action(dependent, dep, &block)
when :prune
next []
@@ -89,7 +89,7 @@ class Dependency
end
end.flatten
- merge_repeats(deps)
+ merge_repeats(expanded_deps)
end
def action(dependent, dep, &block)
diff --git a/Library/Homebrew/test/test_dependency_expansion.rb b/Library/Homebrew/test/test_dependency_expansion.rb
index cf22b6170..b34cd35f4 100644
--- a/Library/Homebrew/test/test_dependency_expansion.rb
+++ b/Library/Homebrew/test/test_dependency_expansion.rb
@@ -108,4 +108,9 @@ class DependencyExpansionTests < Test::Unit::TestCase
assert_equal [@foo, @baz], deps
end
+
+ def test_deps_with_collection_argument
+ assert_equal [@foo, @bar, @baz, @qux], @f.deps
+ assert_equal [@bar, @baz], Dependency.expand(@f, [@bar, @baz])
+ end
end