Sha256: 569a25d6cbbf77585f2ec86e7394dc83a7a6f61e33baa7a68119e461d11c516f

Contents?: true

Size: 337 Bytes

Versions: 2

Compression:

Stored size: 337 Bytes

Contents

class MoneyType < ActiveRecord::Type::Integer
  def type_cast_from_user(value)
    if !value.is_a?(Numeric) && value.include?('$')
      price_in_dollars = value.delete('$').to_f
      super(price_in_dollars * 100)
    else
      super
    end
  end
end

ActiveRecord::Base.connection.type_map.register_type('money_type', MoneyType.new)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
store_attribute-0.4.1 spec/support/money_type.rb
store_attribute-0.4.0 spec/support/money_type.rb