Módulo: Mongoid::Criteria::Queryable::Extensions::Range

Definido em:
lib/mongoid/criteria/queryable/extensions/range.rb

Visão geral

Adiciona o comportamento de conversão de tipo de query à classe Range .

Definido sob namespace

Módulos: Métodos de classe

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#__array__Array

Obtenha o intervalo como uma array.

Exemplos:

Obtenha o intervalo como uma array.

1...3.__array__

Retorna:

  • (Array)

    O intervalo como uma array.



18
19
20
# File 'lib/mongoid/criteria/queryable/extentions/range.rb', linha 18

def __array__
  to_a
end

#__evolve_date__Hash

Converta o intervalo em uma query amigável do mongo $gte/$lte para datas.

Exemplos:

Evolua o intervalo.

(11231312..213123131).__evolve_date__

Retorna:

  • (Hash)

    A query de intervalo $gte/$lte com horários à meia-noite UTC.



28
29
30
# File 'lib/mongoid/criteria/queryable/extentions/range.rb', linha 28

def __evolve_date__
  __evolve_range_naive__.transform_values! {|v| v&.__evolve_date__ }
end

#__evolve_range__(serializer: nil) ➤ Hash

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Converta o intervalo em uma query compatível com o mongo $gte/$lte.

Exemplos:

Evolua o intervalo.

(11231312..213123131).__evolve_range__

Parâmetros:

  • serializador, serializador (Objeto) (padrão para: nil)

    O serializador opcional para o campo.

Retorna:

  • (Hash)

    A query de faixa $gte/$lte.



52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/mongoid/criteria/queryable/extentions/range.rb', linha 52

def __evolve_range__(serializador: nada)
  __evolve_range_naive__.transform_values! fazer |valor|
    se serializador, serializador
      serializador, serializador.evolua(valor)
    mais
      caso valor
      quando Hora, DateTime então valor.__evolve_time__
      quando Data então valor.__evolve_date__
      mais valor
      end
    end
  end
end

#__evolve_time__Hash

Converta o intervalo em uma consulta compatível com o mongo $gte/$lte por horários.

Exemplos:

Evolua o intervalo.

(11231312..213123131).__evolve_date__

Retorna:

  • (Hash)

    A query de intervalo $gte/$lte com horários em UTC.



38
39
40
# File 'lib/mongoid/criteria/queryable/extentions/range.rb', linha 38

def __evolve_time__
  __evolve_range_naive__.transform_values! {|v| v&.__evolve_time__ }
end