Módulo: Mongoid::Extensiones::Tiempo::Métodos de clase

Definido en:
lib/mongoid/extensiones/tiempo.rb

Colapso del resumen del método de instancia

Detalles del método de instancia

#demongoize(objeto) ⇒ Tiempo | nulo

Convierte el objeto de su tipo ruby ​​compatible con mongo a este tipo.

Ejemplos:

Demonizar el objeto.

Time.demongoize(object)

Parámetros:

  • Objeto (Tiempo) -

    La hora desde Mongo.

Devuelve:

  • (Tiempo | cero)

    El objeto como un tiempo.



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Archivo 'lib/mongoid/extensions/time.rb', línea 41

def demonizar(Objeto)
  return Si Objeto.blank?
  hora = Si Objeto.¿actúa_como?(:tiempo)
    Mongoid::Config.¿usar_utc? ? Objeto : Objeto.getlocal
  elsif Objeto.¿actúa_como?(:fecha)
    ::fecha.demonizar(Objeto).hasta_tiempo
  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(objeto) ⇒ Tiempo | nulo

Convierte el objeto del tipo rubí con el que tratamos a un tipo compatible con Mongo.

Ejemplos:

Mongoize el objeto.

Time.mongoize("2012-1-1")

Parámetros:

  • Objeto (Objeto) -

    El objeto a mangostear.

Devuelve:

  • (Tiempo | cero)

    El objeto mongoizado o nulo.



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# Archivo 'lib/mongoid/extensions/time.rb', línea 71

def mangostas(Objeto)
  return Si Objeto.blank?
  begin
    hora = Objeto.respond_to?(:__tiempo_mongoize__) ? Objeto.__mongoize_time__ : nulo
  rescate ArgumentError
    return
  end

  Si hora.¿actúa_como?(:tiempo)
    Si Objeto.respond_to?(:fracción_sec)
      ::Tiempo.en(hora.to_i, Objeto.fracción_sec * 10**6).hora UTC
    elsif hora.respond_to?(:subsec)
      ::Tiempo.en(hora.to_i, hora.subsec * 10**6).hora UTC
    else
      ::Tiempo.en(hora.to_i, hora.usec).hora UTC
    end
  end
end