class RuboCop::Cop::Performance::ReverseEach
[].reverse_each
# good
[].reverse.each
# bad
@example
change them to use ‘reverse_each` instead.
This cop is used to identify usages of `reverse.each` and
def autocorrect(node)
def autocorrect(node) ->(corrector) { corrector.replace(node.loc.dot, '_') } end
def on_send(node)
def on_send(node) receiver, second_method = *node return unless second_method == :each return if receiver.nil? _, first_method = *receiver return unless first_method == :reverse source_buffer = node.loc.expression.source_buffer location_of_reverse = receiver.loc.selector.begin_pos end_location = node.loc.selector.end_pos range = Parser::Source::Range.new(source_buffer, location_of_reverse, end_location) add_offense(node, range, MSG) end