Move code to find outdated brew list

This commit is contained in:
Adam Vandenberg 2010-06-08 11:13:22 -07:00
parent 77ae1821b5
commit 69b9901131
2 changed files with 20 additions and 12 deletions

View File

@ -385,6 +385,20 @@ def versions_of(keg_name)
end
def outdated_brews
require 'formula'
results = []
HOMEBREW_CELLAR.subdirs.each do |keg|
next unless keg.subdirs
name = keg.basename.to_s
if (not (f = Formula.factory(name)).installed? rescue nil)
results << [keg, name, f.version]
end
end
return results
end
########################################################## class PrettyListing
class PrettyListing
def initialize path

View File

@ -366,20 +366,14 @@ begin
exec "cat", ARGV.formulae.first.path, *ARGV.options
when 'outdated'
require 'formula'
HOMEBREW_CELLAR.subdirs.each do |keg|
if keg.subdirs.length > 0
name = keg.basename('.rb').to_s
if (not (f = Formula.factory(name)).installed? rescue nil)
outdated_brews.each do |keg, name, version|
if $stdout.tty? and not ARGV.flag? '--quiet'
versions = keg.cd{ Dir['*'] }.join(', ')
puts "#{name} (#{versions} < #{f.version})"
puts "#{name} (#{versions} < #{version})"
else
puts name
end
end
end
end
when 'doctor'
require 'brew_doctor'