diff options
| author | Jack Nagel | 2012-07-10 22:09:31 -0500 | 
|---|---|---|
| committer | Jack Nagel | 2012-08-18 11:12:10 -0500 | 
| commit | 93baea7e47627cdd309715143b7d125966a28df5 (patch) | |
| tree | 1f8bd19aaaefbd981f55c0572f1ddb2059631fee /Library/Homebrew/cmd/outdated.rb | |
| parent | 31b61cb01342b5a2079cb447693d003bdf455a65 (diff) | |
| download | brew-93baea7e47627cdd309715143b7d125966a28df5.tar.bz2 | |
outdated: use new version comparison machinery
Diffstat (limited to 'Library/Homebrew/cmd/outdated.rb')
| -rw-r--r-- | Library/Homebrew/cmd/outdated.rb | 24 | 
1 files changed, 12 insertions, 12 deletions
| diff --git a/Library/Homebrew/cmd/outdated.rb b/Library/Homebrew/cmd/outdated.rb index 40aa7a470..5f655b3a4 100644 --- a/Library/Homebrew/cmd/outdated.rb +++ b/Library/Homebrew/cmd/outdated.rb @@ -1,11 +1,12 @@  require 'formula' +require 'keg'  module Homebrew extend self    def outdated -    outdated_brews.each do |f| +    outdated_brews do |f|        if $stdout.tty? and not ARGV.flag? '--quiet' -        versions = f.rack.cd{ Dir['*'] }.join(', ') -        puts "#{f.name} (#{versions} < #{f.version})" +        versions = f.rack.subdirs.map { |d| Keg.new(d) }.map { |keg| keg.basename } +        puts "#{f.name} (#{versions*', '} < #{f.version})"        else          puts f.name        end @@ -13,16 +14,15 @@ module Homebrew extend self    end    def outdated_brews -    HOMEBREW_CELLAR.subdirs.map do |rack| -      # Skip kegs with no versions installed -      next unless rack.subdirs +    HOMEBREW_CELLAR.subdirs.reject { |d| d.subdirs.empty? }.map do |rack| +      f = Formula.factory(rack.basename.to_s) rescue nil +      next if f.nil? -      # Skip HEAD formulae, consider them "evergreen" -      next if rack.subdirs.map{ |keg| keg.basename.to_s }.include? "HEAD" - -      name = rack.basename.to_s -      f = Formula.factory name rescue nil -      f if f and not f.installed? +      kegs = rack.subdirs.map { |d| Keg.new(d) } +      unless kegs.any? { |keg| keg.version >= f.version } +        yield f if block_given? +        f +      end      end.compact    end  end | 
