2021-01-29 19:50:24 +00:00

42 lines
1004 B
Ruby

# typed: false
# frozen_string_literal: true
module Cask
class Cmd
# Cask implementation of the `brew fetch` command.
#
# @api private
class Fetch < AbstractCommand
extend T::Sig
def self.parser
super do
switch "--force",
description: "Force redownloading even if files already exist in local cache."
end
end
sig { void }
def run
require "cask/download"
require "cask/installer"
options = {
quarantine: args.quarantine?,
}.compact
options[:quarantine] = true if options[:quarantine].nil?
casks.each do |cask|
puts Installer.caveats(cask)
ohai "Downloading external files for Cask #{cask}"
download = Download.new(cask, **options)
download.clear_cache if args.force?
downloaded_path = download.fetch
ohai "Success! Downloaded to: #{downloaded_path}"
end
end
end
end
end