Pass deps collection to be expanded as a parameter

This commit is contained in:
Jack Nagel 2013-12-09 14:36:10 -06:00
parent 109e9dc58b
commit 677c78d77e
2 changed files with 8 additions and 3 deletions

View File

@ -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)

View File

@ -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