diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index ed0a784bc9..c22a1325a4 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -150,8 +150,6 @@ class Tap @full_name = "#{@user}/homebrew-#{@repo}" @path = TAP_DIRECTORY/@full_name.downcase @git_repo = GitRepository.new(@path) - @alias_table = nil - @alias_reverse_table = nil end # Clear internal cache. @@ -715,30 +713,25 @@ class Tap @aliases ||= alias_table.keys end - # a table mapping alias to formula name + # Mapping from aliases to formula names. + # # @private sig { returns(T::Hash[String, String]) } def alias_table - return @alias_table if @alias_table - - @alias_table = {} - alias_files.each do |alias_file| - @alias_table[alias_file_to_name(alias_file)] = formula_file_to_name(alias_file.resolved_path) + @alias_table ||= alias_files.each_with_object({}) do |alias_file, alias_table| + alias_table[alias_file_to_name(alias_file)] = formula_file_to_name(alias_file.resolved_path) end - @alias_table end - # a table mapping formula name to aliases + # Mapping from formula names to aliases. + # # @private + sig { returns(T::Hash[String, T::Array[String]]) } def alias_reverse_table - return @alias_reverse_table if @alias_reverse_table - - @alias_reverse_table = {} - alias_table.each do |alias_name, formula_name| - @alias_reverse_table[formula_name] ||= [] - @alias_reverse_table[formula_name] << alias_name + @alias_reverse_table ||= alias_table.each_with_object({}) do |(alias_name, formula_name), alias_reverse_table| + alias_reverse_table[formula_name] ||= [] + alias_reverse_table[formula_name] << alias_name end - @alias_reverse_table end sig { returns(Pathname) }