class RuboCop::Cop::Performance::RedundantSortBlock
This cop identifies places where `sort { |a, b| a <=> b }` can be replaced with `sort`.
@example
# bad array.sort { |a, b| a <=> b } # good array.sort
Constants
- MSG
Public Instance Methods
on_block(node)
click to toggle source
# File lib/rubocop/cop/performance/redundant_sort_block.rb, line 22 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
Private Instance Methods
message(var_a, var_b)
click to toggle source
# File lib/rubocop/cop/performance/redundant_sort_block.rb, line 36 def message(var_a, var_b) bad_method = "sort { |#{var_a}, #{var_b}| #{var_a} <=> #{var_b} }" format(MSG, bad_method: bad_method) end