aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2014-04-07 13:07:04 -0500
committerJack Nagel2014-04-07 13:07:04 -0500
commit872f46dc1e033447c02b6e8a426bef26dc0154ef (patch)
treeb3616b33285c5710092399b6ff74313a8dc1890d
parent574fc99258b1a40796ea53dcd60d38e25303490f (diff)
downloadbrew-872f46dc1e033447c02b6e8a426bef26dc0154ef.tar.bz2
Restore documented behavior of `brew uses foo bar`
`brew uses foo bar` is supposed to return the intersection of formulae that use foo and bar. However, this was broken by changes made to support requirements that can coerce to regular dependencies.
-rw-r--r--Library/Homebrew/cmd/uses.rb19
1 files changed, 6 insertions, 13 deletions
diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb
index 23bab2e9f..a6677b363 100644
--- a/Library/Homebrew/cmd/uses.rb
+++ b/Library/Homebrew/cmd/uses.rb
@@ -12,25 +12,18 @@ module Homebrew extend self
formulae = (ARGV.include? "--installed") ? Formula.installed : Formula
recursive = ARGV.flag? "--recursive"
- uses = []
- formulae.each do |f|
+ uses = formulae.select do |f|
used_formulae.all? do |ff|
if recursive
- if f.recursive_dependencies.any? { |dep| dep.name == ff.name }
- uses << f.to_s
- elsif f.recursive_requirements.any? { |req| req.name == ff.name }
- uses << f.to_s
- end
+ f.recursive_dependencies.any? { |dep| dep.name == ff.name } ||
+ f.recursive_requirements.any? { |req| req.name == ff.name }
else
- if f.deps.any? { |dep| dep.name == ff.name }
- uses << f.to_s
- elsif f.requirements.any? { |req| req.name == ff.name }
- uses << f.to_s
- end
+ f.deps.any? { |dep| dep.name == ff.name } ||
+ f.requirements.any? { |req| req.name == ff.name }
end
end
end
- puts_columns uses
+ puts_columns uses.map(&:name)
end
end