Merge pull request #25008 from lvl0nax/as_enumarable_index_by_refactoring
Perfomance fix for ActiveSupport Enumerable#index_by
This commit is contained in:
commit
4046ac7e88
@ -34,7 +34,9 @@ def sum(identity = nil, &block)
|
||||
# => { "Chade- Fowlersburg-e" => <Person ...>, "David Heinemeier Hansson" => <Person ...>, ...}
|
||||
def index_by
|
||||
if block_given?
|
||||
Hash[map { |elem| [yield(elem), elem] }]
|
||||
result = {}
|
||||
each { |elem| result[yield(elem)] = elem }
|
||||
result
|
||||
else
|
||||
to_enum(:index_by) { size if respond_to?(:size) }
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user