cleanup: refactor cleanup_formula

This commit is contained in:
Jack Nagel 2013-05-15 12:45:38 -05:00
parent 87a8f9a6ae
commit b26c502f79

View File

@ -34,22 +34,12 @@ module Homebrew extend self
def cleanup_formula f
if f.installed?
f.rack.subdirs.map { |d| Keg.new(d) }.each do |keg|
if f.version > keg.version
if f.can_cleanup?
if !keg.linked?
if ARGV.dry_run?
puts "Would remove: #{keg}"
else
puts "Removing: #{keg}..."
keg.rmtree
end
else
opoo "Skipping (old) #{keg} due to it being linked"
end
else
opoo "Skipping (old) keg-only: #{keg}"
end
eligible_kegs = f.rack.subdirs.map { |d| Keg.new(d) }.select { |k| f.version > k.version }
eligible_kegs.each do |keg|
if f.can_cleanup?
cleanup_keg(keg)
else
opoo "Skipping (old) keg-only: #{keg}"
end
end
elsif f.rack.subdirs.length > 1
@ -59,6 +49,17 @@ module Homebrew extend self
end
end
def cleanup_keg keg
if keg.linked?
opoo "Skipping (old) #{keg} due to it being linked"
elsif ARGV.dry_run?
puts "Would remove: #{keg}"
else
puts "Removing: #{keg}..."
keg.rmtree
end
end
def cleanup_cache
return unless HOMEBREW_CACHE.directory?
HOMEBREW_CACHE.children.select(&:file?).each do |pn|