class RuboCop::Cop::Style::EvenOdd

end
if x.even?
# good
end
if x % 2 == 0
# bad
@example
can be used.
This cop checks for places where ‘Integer#even?` or `Integer#odd?`

def autocorrect(node)

def autocorrect(node)
  even_odd_candidate?(node) do |base_number, method, arg|
    replacement_method = replacement_method(arg, method)
    correction = "#{base_number.source}.#{replacement_method}?"
    ->(corrector) { corrector.replace(node.source_range, correction) }
  end
end

def on_send(node)

def on_send(node)
  even_odd_candidate?(node) do |_base_number, method, arg|
    replacement_method = replacement_method(arg, method)
    add_offense(node, message: format(MSG, method: replacement_method))
  end
end

def replacement_method(arg, method)

def replacement_method(arg, method)
  case arg
  when 0
    method == :== ? :even : :odd
  when 1
    method == :== ? :odd : :even
  end
end