class RuboCop::Cop::Lint::NumberConversion

Complex(‘10’)
Float(‘10.2’)
Integer(‘10’, 10)
# good
’10’.to_c
’10.2’.to_f
’10’.to_i
# bad
@example
fails. Cop prefer parsing with number class instead.
number conversion can cause unexpected error if auto type conversion
This cop warns the usage of unsafe number conversions. Unsafe

def correct_method(node, receiver)

def correct_method(node, receiver)
  format(CONVERSION_METHOD_CLASS_MAPPING[node.method_name],
         number_object: receiver.source)
end

def on_send(node)

def on_send(node)
  to_method(node) do |receiver, to_method|
    message = format(
      MSG,
      number_object: receiver.source,
      to_method: to_method,
      corrected_method: correct_method(node, receiver)
    )
    add_offense(node, message: message)
  end
end