From 69b99011318786c47ecf00d929269c80886cd570 Mon Sep 17 00:00:00 2001 From: Adam Vandenberg Date: Tue, 8 Jun 2010 11:13:22 -0700 Subject: [PATCH] Move code to find outdated brew list --- Library/Homebrew/brew.h.rb | 14 ++++++++++++++ bin/brew | 18 ++++++------------ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/Library/Homebrew/brew.h.rb b/Library/Homebrew/brew.h.rb index b05ce2ed2f..3c82bf25ac 100644 --- a/Library/Homebrew/brew.h.rb +++ b/Library/Homebrew/brew.h.rb @@ -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 diff --git a/bin/brew b/bin/brew index f7486e1d19..01d95f85d1 100755 --- a/bin/brew +++ b/bin/brew @@ -366,18 +366,12 @@ 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) - if $stdout.tty? and not ARGV.flag? '--quiet' - versions = keg.cd{ Dir['*'] }.join(', ') - puts "#{name} (#{versions} < #{f.version})" - else - puts name - end - end + outdated_brews.each do |keg, name, version| + if $stdout.tty? and not ARGV.flag? '--quiet' + versions = keg.cd{ Dir['*'] }.join(', ') + puts "#{name} (#{versions} < #{version})" + else + puts name end end