class RubbyCop::Cop::Lint::FloatOutOfRange

This cop identifies Float literals which are, like, really really really really really really really really big. Too big. No-one needs Floats that big. If you need a float that big, something is wrong with you.

@example

# bad

float = 3.0e400

@example

# good

float = 42.9

Constants

MSG

Public Instance Methods

on_float(node) click to toggle source
# File lib/rubbycop/cop/lint/float_out_of_range.rb, line 24
def on_float(node)
  value, = *node
  if value.infinite?
    add_offense(node, :expression, MSG)
  elsif value.zero? && node.source =~ /[1-9]/
    add_offense(node, :expression, MSG)
  end
end