Module: Mongoid::Extensions::Date::ClassMethods
- Defined in:
- lib/mongoid/extensions/date.rb
Instance Method Summary collapse
-
#demongoize(object) ⇒ Date | nil
Convert the object from its mongo friendly ruby type to this type.
-
#mongoize(object) ⇒ Time | nil
Turn the object from the ruby type we deal with to a Mongo friendly type.
Instance Method Details
#demongoize(object) ⇒ Date | nil
Convert the object from its mongo friendly ruby type to this type.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/mongoid/extensions/date.rb', line 44 def demongoize(object) return if object.nil? if object.is_a?(String) object = begin object.__mongoize_time__ rescue ArgumentError nil end end if object.acts_like?(:time) || object.acts_like?(:date) ::Date.new(object.year, object.month, object.day) end end |
#mongoize(object) ⇒ Time | nil
Turn the object from the ruby type we deal with to a Mongo friendly type.
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/mongoid/extensions/date.rb', line 68 def mongoize(object) return if object.blank? begin if object.is_a?(String) # https://jira.mongodb.org/browse/MONGOID-4460 time = ::Time.parse(object) else time = object.__mongoize_time__ end rescue ArgumentError nil end if time.acts_like?(:time) ::Time.utc(time.year, time.month, time.day) end end |