class Gorillib::Factory::GraciousFloatFactory

Returns arg converted to a float.

@example

GraciousFloatFactory.receive(1)                     #=> 1.0
GraciousFloatFactory.receive("123.456")             #=> 123.456
GraciousFloatFactory.receive("0x1.999999999999ap-4" #=> 0.1
GraciousFloatFactory.receive("1_234.5")             #=> 1234.5

@example GraciousFloatFactory is generous in some cases where FloatFactory is not

GraciousFloatFactory.receive("1234.5f")             #=> 1234.5
GraciousFloatFactory.receive("1,234.5")             #=> 1234.5
GraciousFloatFactory.receive("1234L")               #=> 1234.0

@example GraciousFloatFactory is not as gullible as to_f

GraciousFloatFactory.receive("7eleven")             #=> (error)
GraciousFloatFactory.receive("nonzero")             #=> (error)

Public Instance Methods

convert(obj) click to toggle source
Calls superclass method Gorillib::Factory::FloatFactory#convert
# File lib/gorillib/factories.rb, line 399
def convert(obj)
  if String === obj then obj = obj.to_s.tr(FLT_CRUFT_CHARS,'') ; end
  super(obj)
end