brew/Library/Homebrew/cmd/outdated.rb

28 lines
738 B
Ruby
Raw Normal View History

require 'formula'
module Homebrew extend self
def outdated
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
end
def outdated_brews
HOMEBREW_CELLAR.subdirs.map do |rack|
# Skip kegs with no versions installed
next unless rack.subdirs
# 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
[rack, name, f.version] if f and not f.installed?
end.compact
end
end