Módulo: Mongoid::Extensions::Date::ClassMethods

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

Resumen del método de instancia colapsar

Detalles del método de instancia

#demongoize(objeto) ⇒ Fecha | nil

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

Ejemplos:

Desmonguize el objeto.

Date.demongoize(object)

Parámetros:

  • Objeto (Hora)

    El tiempo desde Mongo.

Devuelve:

  • (Date | nil)

    El objeto como una fecha o nil.



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Archivo 'lib/mongoid/extensions/date.rb', línea 40

def desmongoizar(Objeto)
  return si Objeto.nil?

  si Objeto.is_a?(String)
    Objeto = begin
      Objeto.__mongoize_time__
    rescate ArgumentError
      nulo
    end
  end

  return a menos que Objeto.¿acts_like?(:time) || Objeto.¿acts_like?(:date)

  ::fecha.Nuevo(Objeto.año, Objeto.mes, Objeto.día)
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.

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

Parámetros:

  • Objeto (objeto)

    El objeto a mongoizar.

Devuelve:

  • (Tiempo | nil)

    El objeto mongoizado o nulo.



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Archivo 'lib/mongoid/extensions/date.rb', línea 65

def mongoize(Objeto)
  return si Objeto.blank?

  begin
    si Objeto.is_a?(String)
      # https://jira.mongodb.org/browse/MONGOID-4460
      hora = ::Tiempo.parse(Objeto)
    elsif Objeto.respond_to?(:__mongoize_time__)
      hora = Objeto.__mongoize_time__
    end
  rescate ArgumentError
    nulo
  end
  return a menos que hora.¿acts_like?(:time)

  ::Tiempo.UTC(hora.año, hora.mes, hora.día)
end