aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorJack Nagel2014-04-07 13:07:04 -0500
committerJack Nagel2014-04-07 13:07:04 -0500
commit872f46dc1e033447c02b6e8a426bef26dc0154ef (patch)
treeb3616b33285c5710092399b6ff74313a8dc1890d /Library/Homebrew
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.
Diffstat (limited to 'Library/Homebrew')
-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