Module: Mongoid::Criteria::Queryable::Extensions::BigDecimal::ClassMethods
- Defined in:
- lib/mongoid/criteria/queryable/extensions/big_decimal.rb
Instance Method Summary collapse
-
#evolve(object) ⇒ Object
Evolves the big decimal into a MongoDB friendly value.
Instance Method Details
#evolve(object) ⇒ Object
Evolves the big decimal into a MongoDB friendly value.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/mongoid/criteria/queryable/extensions/big_decimal.rb', line 24 def evolve(object) __evolve__(object) do |obj| return if obj.nil? case obj when ::BigDecimal if Mongoid.map_big_decimal_to_decimal128 BSON::Decimal128.new(obj) else obj.to_s end when BSON::Decimal128 then obj else if obj.numeric? if Mongoid.map_big_decimal_to_decimal128 BSON::Decimal128.new(object.to_s) else obj.to_s end else obj end end end end |