Class: MoneyAttribute::DecimalAmountType

Inherits:
AmountType
  • Object
show all
Defined in:
lib/money_attribute/type.rb

Overview

Type for decimal columns storing unit values (e.g. 12.34).

Instance Method Summary collapse

Methods inherited from AmountType

#assert_valid_value, #cast

Instance Method Details

#deserialize(value) ⇒ Mint::Money?

Deserializes a decimal value into a Mint::Money value.

Parameters:

  • value (BigDecimal, nil)

    the raw database value

Returns:

  • (Mint::Money, nil)


53
# File 'lib/money_attribute/type.rb', line 53

def deserialize(value) = value && Money.from(value, MoneyAttribute.default_currency)

#serialize(value) ⇒ BigDecimal?

Serializes a Mint::Money value into a decimal.

Parameters:

  • value (Mint::Money, nil)

Returns:

  • (BigDecimal, nil)


59
# File 'lib/money_attribute/type.rb', line 59

def serialize(value) = value&.to_d