aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authorJack Nagel2014-04-07 13:07:04 -0500
committerJack Nagel2014-04-07 13:07:04 -0500
commit7d8a01a804a9460b9c8e49e3e4c188ee0346f417 (patch)
treefde4fe3c38d2e92e5142dffce374ec175ad31827 /Library/Homebrew/cmd
parent488c5735c6db94d6d6615e7e7e046a9b114f5c1a (diff)
downloadhomebrew-7d8a01a804a9460b9c8e49e3e4c188ee0346f417.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/cmd')
-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