Módulo: Mongoid::Extensiones::Time::ClassMethods
- Definido en:
- lib/mongoid/extensions/time.rb
Resumen del método de instancia colapsar
-
#demongoize(objeto) ⇒ Time | nil
Convierte el objeto de su tipo Ruby compatible con mongo a este tipo.
-
#mongoize(objeto) ⇒ Time | nil
Convierte el objeto desde el tipo Ruby con el que trabajamos a un tipo compatible con Mongo.
Detalles del método de instancia
#demongoize(objeto) ⇒ Hora | nil
Convierte el objeto de su tipo Ruby compatible con mongo a este tipo.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# Archivo 'lib/mongoid/extensions/time.rb', línea 37 def desmongoizar(Objeto) return si Objeto.blank? hora = si Objeto.¿acts_like?(:time) Mongoid::Config.usar_utc? ? Objeto : Objeto.getlocal elsif Objeto.¿acts_like?(:date) ::fecha.desmongoizar(Objeto).to_time elsif Objeto.is_a?(String) begin Objeto.__mongoize_time__ rescate ArgumentError nulo end elsif Objeto.is_a?(BSON::Marca de tiempo) ::Tiempo.en(Objeto.Segundos) end return si hora.nil? hora.in_time_zone(Mongoid.time_zone) end |
#mongoize(object) ⇒ Time | nil
Convierte el objeto desde el tipo Ruby con el que trabajamos a un tipo compatible con Mongo.
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# Archivo 'lib/mongoid/extensions/time.rb', línea 68 def mongoize(Objeto) return si Objeto.blank? begin hora = Objeto.respond_to?(:__mongoize_time__) ? Objeto.__mongoize_time__ : nulo rescate ArgumentError return end return a menos que hora.¿acts_like?(:time) si Objeto.respond_to?(:sec_fraction) ::Tiempo.en(hora.to_i, Objeto.sec_fraction * (10**6)).UTC elsif hora.respond_to?(subsec) ::Tiempo.en(hora.to_i, hora.subsección * (10**6)).UTC else ::Tiempo.en(hora.to_i, hora.usec).UTC end end |