--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 "cli/parser"
require "cask/cmd"
require "cask/cask_loader"
require "cask/download"
module Homebrew
extend Fetch
@ -37,29 +36,27 @@ module Homebrew
if args.no_named?
puts HOMEBREW_CACHE
elsif args.formula?
args.named.each do |name|
print_formula_cache name, args: args
end
return
end
formulae_or_casks = if args.formula?
args.formulae
elsif args.cask?
args.named.each do |name|
print_cask_cache name
end
args.loaded_casks
else
args.named.each do |name|
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
args.formulae_and_casks
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
def print_formula_cache(name, args:)
formula = Formulary.factory(name, force_bottle: args.force_bottle?, flags: args.flags_only)
def print_formula_cache(formula, args:)
if fetch_bottle?(formula, args: args)
puts formula.bottle.cached_download
else
@ -67,8 +64,7 @@ module Homebrew
end
end
def print_cask_cache(name)
cask = Cask::CaskLoader.load name
puts Cask::Cmd::Cache.cached_location(cask)
def print_cask_cache(cask)
puts Cask::Download.new(cask).downloader.cached_location
end
end