Módulo: Mongoid::Extensiones::Time::ClassMethods

Definido en:
lib/mongoid/extensions/time.rb

Resumen del método de instancia colapsar

Detalles del método de instancia

#demongoize(objeto) ⇒ Hora | nil

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

Ejemplos:

Desmonguize el objeto.

Time.demongoize(object)

Parámetros:

  • Objeto (Tiempo) -

    La hora desde Mongo.

Devuelve:

  • (Tiempo | nil)

    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 desmongoizar(Objeto)
  return si Objeto.blank?
  hora = si Objeto.¿acts_like?(:time)
    Mongoid::Config.¿usar_utc? ? Objeto : Objeto.getlocal
  elsif Objeto.¿acts_like?(:fecha)
    ::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.

Ejemplos:

Mongoize el objeto.

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

Parámetros:

  • Objeto (Objeto) -

    El objeto a mongoizar.

Devuelve:

  • (Tiempo | nil)

    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?(:__mongoize_time__) ? Objeto.__mongoize_time__ : nulo
  rescate ArgumentError
    return
  end

  si hora.¿acts_like?(:time)
    si Objeto.respond_to?(:sec_fraction)
      ::Tiempo.en(hora.to_i, Objeto.fracción_sec * 10**6).UTC
    elsif hora.respond_to?(:subsec)
      ::Tiempo.en(hora.to_i, hora.subsec * 10**6).UTC
    else
      ::Tiempo.en(hora.to_i, hora.usec).UTC
    end
  end
end