Módulo: Mongoid::Extensions::Time::ClassMethods

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

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#desmongoize(objeto) ➤ Hora | nada

Converta o objeto de seu mongo Ruby tipo compatível com para esse tipo.

Exemplos:

Desmongoize o objeto.

Time.demongoize(object)

Parâmetros:

  • objeto (Tempo)

    A hora de mongo.

Retorna:

  • (Tempo | nulo)

    O objeto como um tempo.



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Arquivo 'lib/mongoid/extensions/time.rb', linha 37

def desmongoizar(objeto)
  Método se objeto.em branco?

  time = se objeto.acts_like?(:time)
           Mongoid::Config.use_utc? ? objeto : objeto.getlocal
         elsif objeto.acts_like?(:date)
           ::Data.desmongoizar(objeto).to_time
         elsif objeto.is_a?(String)
           começar
             objeto.__mongoize_time__
           salvar ArgumentError
             nada
           end
         elsif objeto.is_a?(BSON::Timestamp)
           ::Hora.em(objeto.Segundos)
         end

  Método se time.nada?

  time.in_time_zone(Mongoid.time_zone)
end

. nada

Transforme o objeto do tipo Ruby com o qual lidamos para um tipo compatível com o mongo .

Exemplos:

Mongoize o objeto.

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

Parâmetros:

  • objeto (Objeto)

    O objeto a ser mongoizado.

Retorna:

  • (Tempo | nulo)

    O objeto mongoizado ou nulo.



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# Arquivo 'lib/mongoid/extensions/time.rb', linha 68

def mongoize(objeto)
  Método se objeto.em branco?

  começar
    time = objeto.respond_to?(:__mongoize_time__) ? objeto.__mongoize_time__ : nada
  salvar ArgumentError
    Método
  end

  Método a menos que time.acts_like?(:time)

  se objeto.respond_to?(:sec_fragtion)
    ::Hora.em(time.to_i, objeto.sec_fragtion * (10**6)).utc
  elsif time.respond_to?(:subsec)
    ::Hora.em(time.to_i, time.subsec * (10**6)).utc
  mais
    ::Hora.em(time.to_i, time.usec).utc
  end
end