mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Simplify Tap#formula_files_by_name
.
This commit is contained in:
parent
977ac20b2b
commit
2a78eba1ad
@ -1201,7 +1201,6 @@ module Formulary
|
|||||||
"#{name}.rb"
|
"#{name}.rb"
|
||||||
end
|
end
|
||||||
|
|
||||||
Tap.formula_files_by_name(tap)
|
tap.formula_files_by_name.fetch(name, tap.formula_dir/filename)
|
||||||
.fetch(name, tap.formula_dir/filename)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -128,6 +128,7 @@ class Tap
|
|||||||
@command_dir = nil
|
@command_dir = nil
|
||||||
@formula_names = nil
|
@formula_names = nil
|
||||||
@formula_files = nil
|
@formula_files = nil
|
||||||
|
@formula_files_by_name = nil
|
||||||
@cask_files = nil
|
@cask_files = nil
|
||||||
@alias_dir = nil
|
@alias_dir = nil
|
||||||
@alias_files = nil
|
@alias_files = nil
|
||||||
@ -560,19 +561,12 @@ class Tap
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# A cached hash of {Formula} basenames to {Formula} file pathnames for a {Tap}
|
# A mapping of {Formula} names to {Formula} file paths.
|
||||||
sig { params(tap: Tap).returns(T::Hash[String, Pathname]) }
|
#
|
||||||
def self.formula_files_by_name(tap)
|
|
||||||
cache_key = "formula_files_by_name_#{tap}"
|
|
||||||
cache.fetch(cache_key) do |key|
|
|
||||||
cache[key] = tap.formula_files_by_name
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# @private
|
# @private
|
||||||
sig { returns(T::Hash[String, Pathname]) }
|
sig { returns(T::Hash[String, Pathname]) }
|
||||||
def formula_files_by_name
|
def formula_files_by_name
|
||||||
formula_files.each_with_object({}) do |file, hash|
|
@formula_files_by_name ||= formula_files.each_with_object({}) do |file, hash|
|
||||||
# If there's more than one file with the same basename: use the longer one to prioritise more specific results.
|
# If there's more than one file with the same basename: use the longer one to prioritise more specific results.
|
||||||
basename = file.basename(".rb").to_s
|
basename = file.basename(".rb").to_s
|
||||||
existing_file = hash[basename]
|
existing_file = hash[basename]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user