aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/cleanup.rb
diff options
context:
space:
mode:
authorJack Nagel2013-05-15 12:45:38 -0500
committerJack Nagel2013-05-15 12:57:00 -0500
commit3be1ac1ea9ef708d36fb3f8112e2830a43f3e86e (patch)
tree7aa43250281d215a7325e8e788d3494bfb527596 /Library/Homebrew/cmd/cleanup.rb
parentb02c5a82ec6e99911fa88d77b2b35895ebcaf7d9 (diff)
downloadhomebrew-3be1ac1ea9ef708d36fb3f8112e2830a43f3e86e.tar.bz2
cleanup: refactor cleanup_formula
Diffstat (limited to 'Library/Homebrew/cmd/cleanup.rb')
-rw-r--r--Library/Homebrew/cmd/cleanup.rb33
1 files changed, 17 insertions, 16 deletions
diff --git a/Library/Homebrew/cmd/cleanup.rb b/Library/Homebrew/cmd/cleanup.rb
index 7b5dc3aac..cac1eb755 100644
--- a/Library/Homebrew/cmd/cleanup.rb
+++ b/Library/Homebrew/cmd/cleanup.rb
@@ -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|