--cache: Use convenience methods for loading formulae and casks

This commit is contained in:
William Ma 2020-08-10 12:23:32 -04:00
parent 677714d801
commit 91a2eb8aad

View File

@ -2,8 +2,7 @@
require "fetch" require "fetch"
require "cli/parser" require "cli/parser"
require "cask/cmd" require "cask/download"
require "cask/cask_loader"
module Homebrew module Homebrew
extend Fetch extend Fetch
@ -37,29 +36,27 @@ module Homebrew
if args.no_named? if args.no_named?
puts HOMEBREW_CACHE puts HOMEBREW_CACHE
elsif args.formula? return
args.named.each do |name|
print_formula_cache name, args: args
end end
formulae_or_casks = if args.formula?
args.formulae
elsif args.cask? elsif args.cask?
args.named.each do |name| args.loaded_casks
print_cask_cache name
end
else else
args.named.each do |name| args.formulae_and_casks
print_formula_cache name, args: args
rescue FormulaUnavailableError
begin
print_cask_cache name
rescue Cask::CaskUnavailableError
odie "No available formula or cask with the name \"#{name}\""
end end
formulae_or_casks.each do |formula_or_cask|
if formula_or_cask.is_a? Formula
print_formula_cache formula_or_cask, args: args
else
print_cask_cache formula_or_cask
end end
end end
end end
def print_formula_cache(name, args:) def print_formula_cache(formula, args:)
formula = Formulary.factory(name, force_bottle: args.force_bottle?, flags: args.flags_only)
if fetch_bottle?(formula, args: args) if fetch_bottle?(formula, args: args)
puts formula.bottle.cached_download puts formula.bottle.cached_download
else else
@ -67,8 +64,7 @@ module Homebrew
end end
end end
def print_cask_cache(name) def print_cask_cache(cask)
cask = Cask::CaskLoader.load name puts Cask::Download.new(cask).downloader.cached_location
puts Cask::Cmd::Cache.cached_location(cask)
end end
end end