cache: alert user when no formula or cask matches the argument

This commit is contained in:
William Ma 2020-06-19 14:00:26 -04:00
parent 46d344c0d1
commit 9b1d58c53c
2 changed files with 11 additions and 24 deletions

View File

@ -108,23 +108,6 @@ module Homebrew
.freeze
end
def formulae_and_casks
require "cask/cask_loader"
require "cask/exceptions"
@formulae_and_casks ||= downcased_unique_named.map do |name|
begin
Formulary.factory(name, spec)
rescue FormulaUnavailableError => e
begin
Cask::CaskLoader.load(name)
rescue Cask::CaskUnavailableError
raise e
end
end
end.uniq.freeze
end
def kegs
require "keg"
require "formula"

View File

@ -3,6 +3,7 @@
require "fetch"
require "cli/parser"
require "cask/cmd"
require "cask/cask_loader"
module Homebrew
module_function
@ -30,18 +31,21 @@ module Homebrew
if args.no_named?
puts HOMEBREW_CACHE
else
args.formulae_and_casks.each do |formula_or_cask|
case formula_or_cask
when Formula
formula = formula_or_cask
args.named.each do |name|
begin
formula = Formulary.factory name
if Fetch.fetch_bottle?(formula)
puts formula.bottle.cached_download
else
puts formula.cached_download
end
when Cask::Cask
cask = formula_or_cask
puts "cask: #{Cask::Cmd::Cache.cached_location(cask)}"
rescue FormulaUnavailableError => e
begin
cask = Cask::CaskLoader.load name
puts "cask: #{Cask::Cmd::Cache.cached_location(cask)}"
rescue Cask::CaskUnavailableError
ofail "No available formula or cask with the name \"#{name}\""
end
end
end
end