lib/money-rails/mongoid/money.rb in money-rails-1.0.0 vs lib/money-rails/mongoid/money.rb in money-rails-1.1.0
- old
+ new
@@ -12,11 +12,11 @@
# Get the object as it was stored in the database, and instantiate
# this custom class from it.
def demongoize(object)
if object.is_a?(Hash)
- object = object.symbolize_keys
+ object = object.deep_symbolize_keys
object.has_key?(:cents) ? ::Money.new(object[:cents], object[:currency_iso]) : nil
else
nil
end
end
@@ -25,10 +25,10 @@
# stored in the database.
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!)
+ object.deep_symbolize_keys! if object.respond_to?(:deep_symbolize_keys!)
::Money.new(object[:cents], object[:currency_iso]).mongoize
when object.respond_to?(:to_money) then
begin
object.to_money.mongoize
rescue ArgumentError, Money::Currency::UnknownCurrency