= dm-money == Description BigMoney backed DataMapper money properties. == Todo * Validations. * Precision and scale options should also be applied to underlying BigMoney/BigDecimal amount. * A rounding mode option, see BigDecimal#mode. == Synopsis === Basic require 'dm-core' require 'dm-money' class Cake include DataMapper::Resource # ... other properties. money :gst # public # gst #=> BigMoney # gst=(value) # # property :gst_amount, BigDecimal, accessor: private # property :gst_currency, String, accessor: private, length: 3 end === Property Options require 'dm-core' require 'dm-money' class Cake include DataMapper::Resource # ... other properties. money :price, required: true, accessor: protected # protected # price #=> BigMoney # price=(value) # # property :price_amount, BigDecimal, accessor: private, required: true # property :price_currency, String, accessor: private, required: true, length: 3 end == Precision and Scale "The SQL standard requires a default scale of 0, i.e. coercion to integer precision. We find this a bit useless. If you're concerned about portability, always specify the precision and scale explicitly." -- PostgreSQL Documentation. DataMapper's bread and butter is SQL and old school relational databases so unsurprisingly a default numeric/decimal scale of 0 is used (where the default precision comes from I do not know). If you require any fractional money amounts remember to explicitly set the precision and scale options for each money property. == Install * Via git: git clone git://github.com/shanna/dm-money.git cd dm-money && rake install * Via gem: gem install dm-money == License See LICENSE.