move cask/cmd/reinstall to cask/reinstall

This commit is contained in:
hyuraku 2023-04-10 22:07:06 +09:00
parent 7336c583e5
commit ec0d492c09
5 changed files with 44 additions and 63 deletions

View File

@ -12,7 +12,6 @@ require "cask/config"
require "cask/cmd/abstract_command"
require "cask/cmd/audit"
require "cask/cmd/install"
require "cask/cmd/reinstall"
module Cask
# Implementation of the `brew cask` command-line interface.

View File

@ -1,56 +0,0 @@
# typed: true
# frozen_string_literal: true
module Cask
class Cmd
# Cask implementation of the `brew reinstall` command.
#
# @api private
class Reinstall < Install
extend T::Sig
sig { void }
def run
self.class.reinstall_casks(
*casks,
binaries: args.binaries?,
verbose: args.verbose?,
force: args.force?,
skip_cask_deps: args.skip_cask_deps?,
require_sha: args.require_sha?,
quarantine: args.quarantine?,
zap: args.zap?,
)
end
def self.reinstall_casks(
*casks,
verbose: nil,
force: nil,
skip_cask_deps: nil,
binaries: nil,
require_sha: nil,
quarantine: nil,
zap: nil
)
require "cask/installer"
options = {
binaries: binaries,
verbose: verbose,
force: force,
skip_cask_deps: skip_cask_deps,
require_sha: require_sha,
quarantine: quarantine,
zap: zap,
}.compact
options[:quarantine] = true if options[:quarantine].nil?
casks.each do |cask|
Installer.new(cask, **options).reinstall
end
end
end
end
end

View File

@ -0,0 +1,34 @@
# typed: true
# frozen_string_literal: true
module Cask
#
# @api private
class Reinstall
def self.reinstall_casks(
*casks,
verbose: nil,
force: nil,
skip_cask_deps: nil,
binaries: nil,
require_sha: nil,
quarantine: nil,
zap: nil
)
require "cask/installer"
quarantine = true if quarantine.nil?
casks.each do |cask|
Installer.new(cask,
binaries: binaries,
verbose: verbose,
force: force,
skip_cask_deps: skip_cask_deps,
require_sha: require_sha,
quarantine: quarantine,
zap: zap).reinstall
end
end
end
end

View File

@ -11,6 +11,7 @@ require "cleanup"
require "cask/cmd"
require "cask/utils"
require "cask/macos"
require "cask/reinstall"
require "upgrade"
require "api"
@ -150,7 +151,7 @@ module Homebrew
)
if casks.any?
Cask::Cmd::Reinstall.reinstall_casks(
Cask::Reinstall.reinstall_casks(
*casks,
binaries: args.binaries?,
verbose: args.verbose?,

View File

@ -1,7 +1,10 @@
# typed: false
# frozen_string_literal: true
describe Cask::Cmd::Reinstall, :cask do
require "cask/installer"
require "cask/reinstall"
describe Cask::Reinstall, :cask do
it "displays the reinstallation progress" do
caffeine = Cask::CaskLoader.load(cask_path("local-caffeine"))
@ -20,7 +23,7 @@ describe Cask::Cmd::Reinstall, :cask do
EOS
expect do
described_class.run("local-caffeine")
described_class.reinstall_casks(Cask::CaskLoader.load("local-caffeine"))
end.to output(output).to_stdout
end
@ -45,7 +48,7 @@ describe Cask::Cmd::Reinstall, :cask do
EOS
expect do
described_class.run("local-caffeine", "--zap")
described_class.reinstall_casks(Cask::CaskLoader.load("local-caffeine"), zap: true)
end.to output(output).to_stdout
end
@ -54,14 +57,14 @@ describe Cask::Cmd::Reinstall, :cask do
expect(Cask::CaskLoader.load(cask_path("local-transmission"))).to be_installed
described_class.run("local-transmission")
described_class.reinstall_casks(Cask::CaskLoader.load("local-transmission"))
expect(Cask::CaskLoader.load(cask_path("local-transmission"))).to be_installed
end
it "allows reinstalling a non installed Cask" do
expect(Cask::CaskLoader.load(cask_path("local-transmission"))).not_to be_installed
described_class.run("local-transmission")
described_class.reinstall_casks(Cask::CaskLoader.load("local-transmission"))
expect(Cask::CaskLoader.load(cask_path("local-transmission"))).to be_installed
end
end