class RuboCop::Cop::Performance::RedundantSortBy

This cop identifies places where `sort_by { … }` can be replaced by `sort`.

@example

@bad
array.sort_by { |x| x }
array.sort_by do |var|
  var
end

@good
array.sort

Constants

MSG

Public Instance Methods

autocorrect(node) click to toggle source
# File lib/rubocop/cop/performance/redundant_sort_by.rb, line 34
def autocorrect(node)
  send, = *node
  range = Parser::Source::Range.new(node.source_range.source_buffer,
                                    send.loc.selector.begin_pos,
                                    node.loc.end.end_pos)
  ->(corrector) { corrector.replace(range, 'sort') }
end
on_block(node) click to toggle source
# File lib/rubocop/cop/performance/redundant_sort_by.rb, line 25
def on_block(node)
  redundant_sort_by(node) do |send, var_name|
    range = Parser::Source::Range.new(node.source_range.source_buffer,
                                      send.loc.selector.begin_pos,
                                      node.loc.end.end_pos)
    add_offense(node, range, format(MSG, var_name, var_name))
  end
end