Módulo: Mongoid::Matcher::Not Private

Definido em:
lib/mongoid/matcher/not.rb

Visão geral

Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.

Correspondente na memória para a expressão$not .

Recolhimento do Resumo do método de classe

Detalhes do método de classe

.correspondências?(existe, valor, condição) ➤ verdadeiro | false, booleano

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.

Retorna se um valor satisfaz uma expressão$not .

Parâmetros:

  • existe (verdadeiro | falso)

    Se o valor existe.

  • valor (Objeto)

    O valor a ser verificado.

  • Condição (Hash | Regexp | BSON::Regexp::Raw)

    O predicado da condição $not.

Retorna:

  • (verdadeiro | falso)

    Se o valor corresponde.

  • (Booleano)


22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Arquivo 'lib/mongoid/matcher/not.rb', linha 22

module_function def correspondências?(existe, valor, Condição)
  caso Condição
  quando ::regexp, BSON::regexp::Cru
    !expressão regular.correspondências?(existe, valor, Condição)
  quando Hash
    se Condição.vazio?
      aumentar Errors::Query inválida, "Oargumento $not não pode ser um hash vazio: #{Erros::InvalidQuery.truncate_expr(condição)}"
    end

    Condição.todos? fazer |(k, cond_v)|
      k = k.to_s
      a menos que k.start_with?('$')
        aumentar Errors::Query inválida, "Osargumentos $not devem ser operadores: #{Erros::InvalidQuery.truncate_expr(k)}"
      end

      !FieldOperator.obter(k).correspondências?(existe, valor, cond_v)
    end
  mais
    aumentar Errors::Query inválida, "Oargumento $not deve ser um hash ou uma expressão regular : #{Erros::InvalidQuery.truncate_expr(condição)}"
  end
end