Active Model Float Type
Attribute type for floating point numeric values. It is registered under the :float key.
class BagOfCoffee
  include ActiveModel::Attributes
  attribute :weight, :float
end
Values are cast using their to_f method, except for the following strings:
- 
Blank strings are cast to nil.
- 
"Infinity"is cast toFloat::INFINITY.
- 
"-Infinity"is cast to-Float::INFINITY.
- 
"NaN"is cast toFloat::NAN.bag = BagOfCoffee.new bag.weight = “0.25” bag.weight # => 0.25 bag.weight = “” bag.weight # => nil bag.weight = “NaN” bag.weight # => Float::NAN 
Methods
Included Modules
Instance Public methods
type()
📝 Source code
# File activemodel/lib/active_model/type/float.rb, line 39
      def type
        :float
      endtype_cast_for_schema(value)
📝 Source code
# File activemodel/lib/active_model/type/float.rb, line 43
      def type_cast_for_schema(value)
        return "::Float::NAN" if value.try(:nan?)
        case value
        when ::Float::INFINITY then "::Float::INFINITY"
        when -::Float::INFINITY then "-::Float::INFINITY"
        else super
        end
      end