diff options
Diffstat (limited to 'Library/Homebrew/cmd/deps.rb')
| -rw-r--r-- | Library/Homebrew/cmd/deps.rb | 24 | 
1 files changed, 17 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  | 
