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

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

Visão geral

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

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

#__add__(objeto) ➤ Object

Combine os dois objetos usando a estratégia adicionar.

Exemplos:

Adicione o objeto à array.

[ 1, 2, 3 ].__add__(4)

Parâmetros:

  • objeto (Objeto)

    O objeto a ser adicionado.

Retorna:

  • (Objeto)

    O resultado da adição.



20
21
22
# File 'lib/mongoid/criteria/queryable/extentions/array.rb', linha 20

def __add__(objeto)
  objeto.__add_from_array__(auto)
end

#__array__Array

Retorne o objeto como uma array.

Exemplos:

Obtenha a array.

[ 1, 2 ].__array__

Retorna:



30
# File 'lib/mongoid/criteria/queryable/extentions/array.rb', linha 30

def __array__; auto; end

#__deep_copy__Array

Faz uma cópia profunda da array, copiando profundamente cada elemento dentro da array.

Exemplos:

Obtenha uma cópia profunda da matriz.

[ 1, 2, 3 ].__deep_copy__

Retorna:

  • (Array)

    A cópia profunda da array.



39
40
41
# File 'lib/mongoid/criteria/queryable/extentions/array.rb', linha 39

def __deep_copy__
  map { |valor| valor.__deep_copy__ }
end

#__evolve_date__Array<Time>

Envolva a array em uma array de datas compatíveis com o mongo. (Horas à meia-noite).

Exemplos:

Evolua a array para datas.

[ Date.new(2010, 1, 1) ].__evolve_date__

Retorna:

  • (Array<Tempo>)

    A array como horários à meia-noite UTC.



50
51
52
# File 'lib/mongoid/criteria/queryable/extentions/array.rb', linha 50

def __evolve_date__
  map { |valor| valor.__evolve_date__ }
end

#__evolve_time__Array<Time>

Evolua a array para uma array de horários.

Exemplos:

Evolua a array para horários.

[ 1231231231 ].__evolve_time__

Retorna:



72
73
74
# File 'lib/mongoid/criteria/queryable/extentions/array.rb', linha 72

def __evolve_time__
  map { |valor| valor.__evolve_time__ }
end

#__expand_complex__ ➤ Array

Obtenha o objeto como expandido.

Exemplos:

Expanda o objeto.

obj.__expand_complex__

Retorna:

  • (Array)

    A array expandida.



60
61
62
63
64
# File 'lib/mongoid/criteria/queryable/extentions/array.rb', linha 60

def __expand_complex__
  map fazer |valor|
    valor.__expand_complex__
  end
end

#__intersect__(objeto) ➤ Objeto

Combine os dois objetos usando uma estratégia de interseção.

Exemplos:

Interseccionar com o objeto.

[ 1, 2 ].__intersect__(3)

Parâmetros:

  • objeto (Objeto)

    O objeto com o qual fazer a interseção.

Retorna:

  • (Objeto)

    O resultado da interseção.



84
85
86
# File 'lib/mongoid/criteria/queryable/extentions/array.rb', linha 84

def __intersect__(objeto)
  objeto.__intersect_from_array__(auto)
end

#__sort_option__Hash

Obtém a array como opções no formato correto para passar como critério de classificação do MongoDB .

Exemplos:

Obtenha a array como opções de classificação.

[ :field, 1 ].__sort_option__

Retorna:

  • (Hash)

    A array como critério de classificação.



95
96
97
98
99
100
# File 'lib/mongoid/criteria/queryable/extentions/array.rb', linha 95

def __sort_option__
  multi.injetar({}) fazer |opções, critério|
    opções.mesclar!(critério.__sort_pair__)
    opções
  end
end

#__sort_pair__Hash

Obtenha a array como um par de classificação.

Exemplos:

Obtenha a array como par de campo/direção.

[ field, 1 ].__sort_pair__

Retorna:

  • (Hash)

    O par campo/direção.



108
109
110
# File 'lib/mongoid/criteria/queryable/extentions/array.rb', linha 108

def __sort_pair__
  { primeiro => Mongoid::critério::Tradutor.to_direction(último) }
end