class RuboCop::Cop::Performance::RedundantSortBlock
array.sort
# good
array.sort { |a, b| a <=> b }
# bad
@example
can be replaced with ‘sort`.
This cop identifies places where `sort { |a, b| a <=> b }`
def message(var_a, var_b)
def message(var_a, var_b) bad_method = "sort { |#{var_a}, #{var_b}| #{var_a} <=> #{var_b} }" format(MSG, bad_method: bad_method) end
def on_block(node)
def on_block(node) return unless (send, var_a, var_b, body = sort_with_block?(node)) replaceable_body?(body, var_a, var_b) do range = sort_range(send, node) add_offense(range, message: message(var_a, var_b)) do |corrector| corrector.replace(range, 'sort') end end end