diff options
| author | Jack Nagel | 2013-05-15 12:45:38 -0500 |
|---|---|---|
| committer | Jack Nagel | 2013-05-15 12:57:00 -0500 |
| commit | 3be1ac1ea9ef708d36fb3f8112e2830a43f3e86e (patch) | |
| tree | 7aa43250281d215a7325e8e788d3494bfb527596 /Library/Homebrew/cmd/cleanup.rb | |
| parent | b02c5a82ec6e99911fa88d77b2b35895ebcaf7d9 (diff) | |
| download | homebrew-3be1ac1ea9ef708d36fb3f8112e2830a43f3e86e.tar.bz2 | |
cleanup: refactor cleanup_formula
Diffstat (limited to 'Library/Homebrew/cmd/cleanup.rb')
| -rw-r--r-- | Library/Homebrew/cmd/cleanup.rb | 33 |
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| |
