From 5900263cabb8cb653ea698ea89990cf134afb3d1 Mon Sep 17 00:00:00 2001 From: William Ma Date: Wed, 24 Jun 2020 14:53:03 -0400 Subject: [PATCH] args: Add resolved_formulae_and_unknowns --- Library/Homebrew/cli/args.rb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/cli/args.rb b/Library/Homebrew/cli/args.rb index 90e5f4a11..987ab6194 100644 --- a/Library/Homebrew/cli/args.rb +++ b/Library/Homebrew/cli/args.rb @@ -36,6 +36,7 @@ module Homebrew # Reset cache values reliant on named_args @formulae = nil @resolved_formulae = nil + @resolved_formulae_and_unknowns = nil @formulae_paths = nil @casks = nil @kegs = nil @@ -97,6 +98,19 @@ module Homebrew end.uniq(&:name).freeze end + def resolved_formulae_and_unknowns + return @resolved_formulae_and_unknowns if @resolved_formulae_and_unknowns + + resolved_formulae = [] + unknowns = [] + downcased_unique_named.each do |name| + resolved_formulae << Formulary.resolve(name, spec: spec(nil)) + rescue FormulaUnavailableError + unknowns << name + end + @resolved_formulae_and_unknowns = [resolved_formulae.freeze, unknowns.freeze].freeze + end + def formulae_paths @formulae_paths ||= (downcased_unique_named - casks).map do |name| Formulary.path(name) @@ -130,7 +144,7 @@ module Homebrew unknowns << name end - @kegs_and_unknowns = [kegs, unknowns] + @kegs_and_unknowns = [kegs.freeze, unknowns.freeze].freeze end def resolve_keg(name)