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.



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

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.



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

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

  se 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
end