diff --git a/Library/Homebrew/cmd/--cache.rb b/Library/Homebrew/cmd/--cache.rb index 377e7dc49a8232159f4ebd22ebfa47cf81fb892e..aedd58386040aeb00d055d33923aae670278b7c9 100644 --- a/Library/Homebrew/cmd/--cache.rb +++ b/Library/Homebrew/cmd/--cache.rb @@ -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 diff --git a/Library/Homebrew/cmd/home.rb b/Library/Homebrew/cmd/home.rb index 8b37d3810c16fc34863d3c5341334b87edca5385..318c7ffb02197220e30a65af2d2578b7388fafd7 100644 --- a/Library/Homebrew/cmd/home.rb +++ b/Library/Homebrew/cmd/home.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true require "cli/parser" -require "cask/cask_loader" -require "cask/exceptions" module Homebrew module_function @@ -23,21 +21,22 @@ module Homebrew if args.no_named? exec_browser HOMEBREW_WWW + return + end + + homepages = args.formulae_and_casks.map do |formula_or_cask| + puts "Opening homepage for #{name_of(formula_or_cask)}" + formula_or_cask.homepage + end + + exec_browser(*homepages) + end + + def name_of(formula_or_cask) + if formula_or_cask.is_a? Formula + "Formula #{formula_or_cask.name}" else - homepages = args.named.map do |name| - f = Formulary.factory(name) - puts "Opening homepage for formula #{name}" - f.homepage - rescue FormulaUnavailableError - begin - c = Cask::CaskLoader.load(name) - puts "Opening homepage for cask #{name}" - c.homepage - rescue Cask::CaskUnavailableError - odie "No available formula or cask with the name \"#{name}\"" - end - end - exec_browser(*homepages) + "Cask #{formula_or_cask.token}" end end end