class Money
from github.com/RubyMoney/money-rails/blob/master/lib/money-rails/mongoid/money.rb
Public Class Methods
demongoize(object)
click to toggle source
Get the object as it was stored in the database, and instantiate this custom class from it.
# File lib/mongoid_money_field/field.rb, line 17 def demongoize(object) if object.is_a?(Hash) object = object.symbolize_keys object.has_key?(:cents) ? ::Money.new(object[:cents], object[:currency_iso]) : nil else nil end end
evolve(object)
click to toggle source
Converts the object that was supplied to a criteria and converts it into a database friendly form.
# File lib/mongoid_money_field/field.rb, line 42 def evolve(object) case object when Money then object.mongoize else object end end
mongoize(object)
click to toggle source
Takes any possible object and converts it to how it would be stored in the database.
# File lib/mongoid_money_field/field.rb, line 28 def mongoize(object) case when object.is_a?(Money) then object.mongoize when object.is_a?(Hash) then object.symbolize_keys! if object.respond_to?(:symbolize_keys!) ::Money.new(object[:cents], object[:currency_iso]).mongoize when object.respond_to?(:to_money) then object.to_money.mongoize else object end end
Public Instance Methods
mongoize()
click to toggle source
Converts an object of this instance into a database friendly value.
# File lib/mongoid_money_field/field.rb, line 6 def mongoize { :cents => cents, :currency_iso => currency.iso_code } end