From b26c502f7915b55908cbae19514271ab400e9b47 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Wed, 15 May 2013 12:45:38 -0500 Subject: [PATCH] cleanup: refactor cleanup_formula --- Library/Homebrew/cmd/cleanup.rb | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/Library/Homebrew/cmd/cleanup.rb b/Library/Homebrew/cmd/cleanup.rb index 7b5dc3aacc..cac1eb7559 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|