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:

Methods

T

Included Modules

Instance Public methods

Source: show | on GitHub

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