diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cask/lib/hbc/cli/uninstall.rb | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb b/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb index 7fc40daaf..213c5beb6 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb @@ -2,22 +2,28 @@ module Hbc class CLI class Uninstall < Base def self.run(*args) - cask_tokens = cask_tokens_from(args) - raise CaskUnspecifiedError if cask_tokens.empty? - force = args.include? "--force" + new(*args).run + end + + def initialize(*args) + @cask_tokens = self.class.cask_tokens_from(args) + raise CaskUnspecifiedError if @cask_tokens.empty? + @force = args.include? "--force" + end - cask_tokens.each do |cask_token| + def run + @cask_tokens.each do |cask_token| odebug "Uninstalling Cask #{cask_token}" cask = CaskLoader.load(cask_token) - raise CaskNotInstalledError, cask unless cask.installed? || force + raise CaskNotInstalledError, cask unless cask.installed? || @force if cask.installed? && !cask.installed_caskfile.nil? # use the same cask file that was used for installation, if possible cask = CaskLoader.load_from_file(cask.installed_caskfile) if cask.installed_caskfile.exist? end - Installer.new(cask, binaries: CLI.binaries?, force: force).uninstall + Installer.new(cask, binaries: CLI.binaries?, force: @force).uninstall next if (versions = cask.versions).empty? |
