diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb index e181a104920c870c463c83cacd09312f3035edd8..05cc4b7778fde104fe51d41c1488534db18f199d 100644 --- a/Library/Homebrew/cmd/deps.rb +++ b/Library/Homebrew/cmd/deps.rb @@ -1,18 +1,26 @@ require 'formula' +require 'ostruct' module Homebrew extend self def deps - if ARGV.include? '--installed' + mode = OpenStruct.new( + :installed? => ARGV.include?('--installed'), + :tree? => ARGV.include?('--tree'), + :all? => ARGV.include?('--all'), + :topo_order? => ARGV.include?('-n') + ) + + if mode.installed? puts_deps Formula.installed - elsif ARGV.include? '--all' + elsif mode.all? puts_deps Formula - elsif ARGV.include? '--tree' + elsif mode.tree? raise FormulaUnspecifiedError if ARGV.named.empty? puts_deps_tree ARGV.formulae else raise FormulaUnspecifiedError if ARGV.named.empty? all_deps = deps_for_formulae ARGV.formulae - all_deps.sort! unless ARGV.include? "-n" + all_deps.sort! unless mode.topo_order? puts all_deps end end