Add to_latest_kegs
This commit is contained in:
parent
0938500721
commit
fa9a525d32
@ -98,6 +98,8 @@ module Homebrew
|
||||
Formulary.factory(name, *spec, force_bottle: @force_bottle, flags: @flags)
|
||||
when :resolve
|
||||
resolve_formula(name)
|
||||
when :latest_kegs
|
||||
resolve_latest_keg(name)
|
||||
when :keg, :default_kegs
|
||||
# TODO: (3.2) Uncomment the following
|
||||
# odeprecated "`load_formula_or_cask` with `method: :keg`",
|
||||
@ -223,6 +225,18 @@ module Homebrew
|
||||
end
|
||||
end
|
||||
|
||||
sig { returns(T::Array[Keg]) }
|
||||
def to_latest_kegs
|
||||
@to_default_kegs ||= begin
|
||||
to_formulae_and_casks(only: :formula, method: :latest_kegs).freeze
|
||||
rescue NoSuchKegError => e
|
||||
if (reason = MissingFormula.suggest_command(e.name, "uninstall"))
|
||||
$stderr.puts reason
|
||||
end
|
||||
raise e
|
||||
end
|
||||
end
|
||||
|
||||
sig { returns(T::Array[Keg]) }
|
||||
def to_kegs
|
||||
@to_kegs ||= begin
|
||||
@ -297,6 +311,15 @@ module Homebrew
|
||||
[rack, kegs]
|
||||
end
|
||||
|
||||
def resolve_latest_keg(name)
|
||||
_, kegs = resolve_kegs(name)
|
||||
|
||||
# Return head keg if it is the only installed keg
|
||||
return kegs if kegs.length == 1
|
||||
|
||||
kegs.reject { |k| k.version.head? }.max_by(&:version)
|
||||
end
|
||||
|
||||
def resolve_default_keg(name)
|
||||
rack, kegs = resolve_kegs(name)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user