Módulo: Mongoid::Matcher::Expression Privado
- Definido en:
- lib/mongoid/matcher/expresión.rb
Overview
Este módulo forma parte de una API privada. Debe evitar su uso siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Módulo singleton base utilizado para evaluar si un documento determinado en memoria coincide con una expresión de consulta MSQL.
Colapso delresumen del método de clase
-
.¿coincide?(documento, expr) ⇒ verdadero | falso, booleano
privada
Devuelve si un documento cumple con una expresión de query.
Detalles del método de clase
.¿coincide?(documento, expr) ⇒ verdadero | falso, booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve si un documento cumple con una expresión 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 |
# Archivo 'lib/mongoid/matcher/expression.rb', línea 19 module_function def ¿partidos?(Documento, expr) Si expr.nil? propagar Errors::Consulta no válida, "Condiciónnula en el contexto deexpresión" end a no ser que Picadillo === expr propagar Errors::Consulta no válida, "Laconsulta MQL debe proporcionarse como unhash" end expr.¿todo? hacer |k, expr_v| k = k.a_s Si k == "$comentario" # Nada return true end Si k.empezar_con?('$') Operador de expresión.Obtener(k).¿partidos?(Documento, expr_v) else values = Comparador.extraer_atributo(Documento, k) Si values.longitud > 0 values.any? hacer |v| Expresión de campo.¿partidos?(true, v, expr_v) end else Expresión de campo.¿partidos?(false, nulo, expr_v) end end end end |