diff options
| -rw-r--r-- | Library/Homebrew/cmd/deps.rb | 24 | ||||
| -rw-r--r-- | Library/Homebrew/extend/ARGV.rb | 3 | 
2 files changed, 20 insertions, 7 deletions
diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb index 2e9a723f4..f5dd675c8 100644 --- a/Library/Homebrew/cmd/deps.rb +++ b/Library/Homebrew/cmd/deps.rb @@ -1,14 +1,24 @@ +require 'formula' +  module Homebrew extend self    def deps -    puts if ARGV.include?('--all') -      require 'formula' -      Formula.all.each do |f| -        "#{f.name}:#{f.deps.join(' ')}" +    if ARGV.include? '--all' +      Formula.each do |f| +        # TODO add a space after the colon?? +        puts "#{f.name}:#{f.deps*' '}"        end -    elsif ARGV.include?("-1") or ARGV.include?("--1") -      *ARGV.formulae.map{ |f| f.deps or [] }.flatten.uniq.sort      else -      *ARGV.formulae.map{ |f| f.recursive_deps.map{ |f| f.name } }.flatten.uniq.sort +      func = if ARGV.one? then :deps else :recursive_deps end +      puts ARGV.formulae.map(&func).intersection.sort      end    end  end + +class Array +  def intersection +    a = [] +    each{ |b| a |= b } +    each{ |c| a &= c } +    a +  end +end diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb index c7195bbcd..29d2c1d19 100644 --- a/Library/Homebrew/extend/ARGV.rb +++ b/Library/Homebrew/extend/ARGV.rb @@ -54,6 +54,9 @@ module HomebrewArgvExtension    def build_head?      flag? '--HEAD'    end +  def one? +    flag? "--1" +  end    def flag? flag      options_only.each do |arg|  | 
