aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/outdated.rb
diff options
context:
space:
mode:
authorMike McQuaid2015-11-27 15:11:00 +0000
committerMike McQuaid2015-11-27 16:52:54 +0000
commit6054666fa6cbff2c8d535c32de128c6e0bb3f8e1 (patch)
tree84b3fcbb5c31ad43a7823f5a0b0b3a4239fdff17 /Library/Homebrew/cmd/outdated.rb
parent30d8084643c3524f2c3c4de884c3c5c0c81b95f7 (diff)
downloadbrew-6054666fa6cbff2c8d535c32de128c6e0bb3f8e1.tar.bz2
formula: refactor outdated handling, add to hash.
Diffstat (limited to 'Library/Homebrew/cmd/outdated.rb')
-rw-r--r--Library/Homebrew/cmd/outdated.rb38
1 files changed, 5 insertions, 33 deletions
diff --git a/Library/Homebrew/cmd/outdated.rb b/Library/Homebrew/cmd/outdated.rb
index 7a199fcae..2c3316f85 100644
--- a/Library/Homebrew/cmd/outdated.rb
+++ b/Library/Homebrew/cmd/outdated.rb
@@ -13,41 +13,12 @@ module Homebrew
Homebrew.failed = ARGV.resolved_formulae.any? && outdated.any?
end
- def outdated_brews(formulae)
- formulae.map do |f|
- all_versions = []
- older_or_same_tap_versions = []
-
- if f.oldname && !f.rack.exist? && (dir = HOMEBREW_CELLAR/f.oldname).directory? &&
- !dir.subdirs.empty? && f.tap == Tab.for_keg(dir.subdirs.first).tap
- raise Migrator::MigrationNeededError.new(f)
- end
-
- f.rack.subdirs.each do |keg_dir|
- keg = Keg.new keg_dir
- version = keg.version
- all_versions << version
- older_version = f.pkg_version <= version
-
- tap = Tab.for_keg(keg).tap
- if tap.nil? || f.tap == tap || older_version
- older_or_same_tap_versions << version
- end
- end
-
- if older_or_same_tap_versions.all? { |version| f.pkg_version > version }
- yield f, all_versions if block_given?
- f
- end
- end.compact
- end
-
def print_outdated(formulae)
verbose = ($stdout.tty? || ARGV.verbose?) && !ARGV.flag?("--quiet")
- outdated_brews(formulae) do |f, versions|
+ formulae.select(&:outdated?).each do |f|
if verbose
- puts "#{f.full_name} (#{versions*", "} < #{f.pkg_version})"
+ puts "#{f.full_name} (#{f.outdated_versions*", "} < #{f.pkg_version})"
else
puts f.full_name
end
@@ -56,9 +27,10 @@ module Homebrew
def print_outdated_json(formulae)
json = []
- outdated = outdated_brews(formulae) do |f, versions|
+ outdated = formulae.select(&:outdated?).each do |f|
+
json << { :name => f.full_name,
- :installed_versions => versions.collect(&:to_s),
+ :installed_versions => f.outdated_versions.collect(&:to_s),
:current_version => f.pkg_version.to_s }
end
puts Utils::JSON.dump(json)