ActiveRecord::Type::Float (original) (raw)
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
bag = BagOfCoffee.new
bag.weight = "0.25"
bag.weight # => 0.25
bag.weight = ""
bag.weight # => nil
bag.weight = "NaN"
bag.weight # => Float::NAN
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
.
Methods
T
Included Modules
Instance Public methods
type_cast_for_schema(value)Link
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