From eb1ea006f2551b4fb562608e96debf5fb287e5b6 Mon Sep 17 00:00:00 2001 From: William Ma Date: Thu, 2 Jul 2020 15:28:41 -0400 Subject: [PATCH] uninstall: Refactor when using --force --- Library/Homebrew/cmd/uninstall.rb | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Library/Homebrew/cmd/uninstall.rb b/Library/Homebrew/cmd/uninstall.rb index 1764b6eb69..a4a81a4421 100644 --- a/Library/Homebrew/cmd/uninstall.rb +++ b/Library/Homebrew/cmd/uninstall.rb @@ -34,20 +34,21 @@ module Homebrew if args.force? casks = [] - kegs_by_rack = Hash[args.named.map do |name| + kegs_by_rack = Hash.new + + args.named.each do |name| rack = Formulary.to_rack(name) - unless rack.directory? + if rack.directory? + kegs_by_rack[rack] = rack.subdirs.map { |d| Keg.new(d) } + else begin casks << Cask::CaskLoader.load(name) rescue Cask::CaskUnavailableError # Since the uninstall was forced, ignore any unavailable casks end - next end - - [rack, rack.subdirs.map { |d| Keg.new(d) }] - end] + end else all_kegs, casks = args.kegs_casks kegs_by_rack = all_kegs.group_by(&:rack)