diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb index 23bab2e9f0..a6677b363a 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