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 autocorrect(node)

def autocorrect(node)
  sort_with_block?(node) do |send, _var_a, _var_b, _body|
    lambda do |corrector|
      range = sort_range(send, node)
      corrector.replace(range, 'sort')
    end
  end
end

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)
  sort_with_block?(node) do |send, var_a, var_b, body|
    replaceable_body?(body, var_a, var_b) do
      range = sort_range(send, node)
      add_offense(
        node,
        location: range,
        message: message(var_a, var_b)
      )
    end
  end
end