Inline index_by
This commit is contained in:
parent
df140b329f
commit
2f8ad2f5e6
@ -2,24 +2,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Enumerable
|
||||
# Convert an enumerable to a hash, using the block result as the key and the
|
||||
# element as the value.
|
||||
#
|
||||
# people.index_by(&:login)
|
||||
# # => { "nextangle" => <Person ...>, "chade-" => <Person ...>, ...}
|
||||
#
|
||||
# people.index_by { |person| "#{person.first_name} #{person.last_name}" }
|
||||
# # => { "Chade- Fowlersburg-e" => <Person ...>, "David Heinemeier Hansson" => <Person ...>, ...}
|
||||
def index_by(&block)
|
||||
if block
|
||||
result = {}
|
||||
each { |elem| result[yield(elem)] = elem }
|
||||
result
|
||||
else
|
||||
T.unsafe(self).to_enum(:index_by) { T.unsafe(self).size if respond_to?(:size) }
|
||||
end
|
||||
end
|
||||
|
||||
# The negative of the <tt>Enumerable#include?</tt>. Returns +true+ if the
|
||||
# collection does not include the object.
|
||||
sig { params(object: T.untyped).returns(T::Boolean) }
|
||||
|
||||
@ -565,8 +565,8 @@ on_request: installed_on_request?, options: options)
|
||||
def expand_requirements
|
||||
unsatisfied_reqs = Hash.new { |h, k| h[k] = [] }
|
||||
formulae = [formula]
|
||||
formula_deps_map = formula.recursive_dependencies
|
||||
.index_by(&:name)
|
||||
formula_deps_map = {}
|
||||
formula.recursive_dependencies.each { |dep| formula_deps_map[dep.name] = dep }
|
||||
|
||||
while (f = formulae.pop)
|
||||
runtime_requirements = runtime_requirements(f)
|
||||
@ -1206,10 +1206,11 @@ on_request: installed_on_request?, options: options)
|
||||
def fetch_bottle_tab
|
||||
@fetch_bottle_tab ||= begin
|
||||
formula.fetch_bottle_tab
|
||||
@bottle_tab_runtime_dependencies = formula.bottle_tab_attributes
|
||||
.fetch("runtime_dependencies", [])
|
||||
.index_by { |dep| dep["full_name"] }
|
||||
.freeze
|
||||
@bottle_tab_runtime_dependencies = {}
|
||||
formula.bottle_tab_attributes
|
||||
.fetch("runtime_dependencies", [])
|
||||
.each { |dep| @bottle_tab_runtime_dependencies[dep["full_name"]] = dep }
|
||||
@bottle_tab_runtime_dependencies.freeze
|
||||
true
|
||||
rescue DownloadError, ArgumentError
|
||||
@fetch_bottle_tab = true
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user