mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
28 lines
738 B
Ruby
28 lines
738 B
Ruby
![]() |
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
|