diff --git a/Library/Homebrew/cask/cmd.rb b/Library/Homebrew/cask/cmd.rb index 7981202af0..ec3921fa5f 100644 --- a/Library/Homebrew/cask/cmd.rb +++ b/Library/Homebrew/cask/cmd.rb @@ -16,7 +16,6 @@ require "cask/cmd/install" require "cask/cmd/reinstall" require "cask/cmd/uninstall" require "cask/cmd/upgrade" -require "cask/cmd/zap" module Cask # Implementation of the `brew cask` command-line interface. diff --git a/Library/Homebrew/cask/cmd/zap.rb b/Library/Homebrew/cask/cmd/zap.rb deleted file mode 100644 index b06bfa4223..0000000000 --- a/Library/Homebrew/cask/cmd/zap.rb +++ /dev/null @@ -1,42 +0,0 @@ -# typed: false -# frozen_string_literal: true - -module Cask - class Cmd - # Cask implementation for the `brew uninstall` command. - # - # @api private - class Zap < AbstractCommand - extend T::Sig - - def self.parser - super do - switch "--force", - description: "Ignore errors when removing files." - end - end - - sig { void } - def run - self.class.zap_casks(*casks, verbose: args.verbose?, force: args.force?) - end - - sig { params(casks: Cask, force: T.nilable(T::Boolean), verbose: T.nilable(T::Boolean)).void } - def self.zap_casks( - *casks, - force: nil, - verbose: nil - ) - require "cask/installer" - - casks.each do |cask| - odebug "Zapping Cask #{cask}" - - raise CaskNotInstalledError, cask if !cask.installed? && !force - - Installer.new(cask, verbose: verbose, force: force).zap - end - end - end - end -end diff --git a/Library/Homebrew/test/cask/cmd/zap_spec.rb b/Library/Homebrew/test/cask/cmd/zap_spec.rb deleted file mode 100644 index 799efdf982..0000000000 --- a/Library/Homebrew/test/cask/cmd/zap_spec.rb +++ /dev/null @@ -1,27 +0,0 @@ -# typed: false -# frozen_string_literal: true - -describe Cask::Cmd::Zap, :cask do - it "shows an error when a bad Cask is provided" do - expect { described_class.run("notacask") } - .to raise_error(Cask::CaskUnavailableError, /is unavailable/) - end - - it "can zap and unlink multiple Casks at once" do - caffeine = Cask::CaskLoader.load(cask_path("local-caffeine")) - transmission = Cask::CaskLoader.load(cask_path("local-transmission")) - - Cask::Installer.new(caffeine).install - Cask::Installer.new(transmission).install - - expect(caffeine).to be_installed - expect(transmission).to be_installed - - described_class.run("local-caffeine", "local-transmission") - - expect(caffeine).not_to be_installed - expect(caffeine.config.appdir.join("Caffeine.app")).not_to be_a_symlink - expect(transmission).not_to be_installed - expect(transmission.config.appdir.join("Transmission.app")).not_to be_a_symlink - end -end