class RuboCop::Cop::Rails::IndexBy
This cop looks for uses of `each_with_object({}) { … }`, `map { … }.to_h`, and `Hash[map { … }]` that are transforming an enumerable into a hash where the values are the original elements. Rails
provides the `index_by` method for this purpose.
@example
# bad [1, 2, 3].each_with_object({}) { |el, h| h[foo(el)] = el } [1, 2, 3].to_h { |el| [foo(el), el] } [1, 2, 3].map { |el| [foo(el), el] }.to_h Hash[[1, 2, 3].collect { |el| [foo(el), el] }] # good [1, 2, 3].index_by { |el| foo(el) }
Private Instance Methods
new_method_name()
click to toggle source
# File lib/rubocop/cop/rails/index_by.rb, line 59 def new_method_name 'index_by' end