Módulo: Mongoid::Matcher::Expression Private
- Definido em:
- lib/mongoid/matcher/ expressão.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.
Módulo singleton base usado para avaliar se um determinado documento na memória corresponde a uma expressão de query MSQL .
Recolhimento do Resumo do método de classe
-
.correspondências?(documento, expr) ➤ true | falso, booleano
privado
Retorna se um documento satisfaz uma expressão de query .
Detalhes do método de classe
.correspondências?(documento, expr) ➤ true | 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 documento satisfaz uma expressão de query .
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# Arquivo 'lib/mongoid/matcher/ expressão.rb', linha 19 module_function def correspondências?(documento, expr) se expr.nada? aumentar Errors::Query inválida, "Condição nula no contexto da expressão" end a menos que Hash === expr aumentar Errors::Query inválida, "A query MQL deve ser fornecida como um Hash" end expr.todos? fazer |k, expr_v| k = k.to_s se k == "$comment" #Nada Método true end se k.start_with?('$') ExpressionOperator.obter(k).correspondências?(documento, expr_v) mais values = Matcher.extract_attribute(documento, k) se values.Tamanho > 0 values.algum? fazer |v| Expressão de campo.correspondências?(true, v, expr_v) end mais Expressão de campo.correspondências?(false, nada, expr_v) end end end end |