Sha256: 0bf7c5bb421830f9215dd39cf8b89c2ea71f91aaf7017d125e6c28c86e3ccf32
Contents?: true
Size: 1.88 KB
Versions: 68
Compression:
Stored size: 1.88 KB
Contents
# encoding: utf-8 module Mongoid module Extensions module DateTime # Mongoize the date time into a time. # # @example Mongoize the date time. # date_time.__mongoize_time__ # # @return [ Time ] The mongoized time. # # @since 3.0.0 def __mongoize_time__ return to_time if utc? && Mongoid.use_utc? if Mongoid.use_activesupport_time_zone? in_time_zone(::Time.zone).to_time else time = to_time time.respond_to?(:getlocal) ? time.getlocal : time end end # Turn the object from the ruby type we deal with to a Mongo friendly # type. # # @example Mongoize the object. # date_time.mongoize # # @return [ Time ] The object mongoized. # # @since 3.0.0 def mongoize ::DateTime.mongoize(self) end module ClassMethods # Convert the object from its mongo friendly ruby type to this type. # # @example Demongoize the object. # DateTime.demongoize(object) # # @param [ Time ] object The time from Mongo. # # @return [ DateTime ] The object as a date. # # @since 3.0.0 def demongoize(object) ::Time.demongoize(object).try(:to_datetime) end # Turn the object from the ruby type we deal with to a Mongo friendly # type. # # @example Mongoize the object. # DateTime.mongoize("2012-1-1") # # @param [ Object ] object The object to convert. # # @return [ Time ] The object mongoized. # # @since 3.0.0 def mongoize(object) ::Time.mongoize(object) end end end end end ::DateTime.__send__(:include, Mongoid::Extensions::DateTime) ::DateTime.extend(Mongoid::Extensions::DateTime::ClassMethods)
Version data entries
68 entries across 63 versions & 3 rubygems