Módulo: Mongoid::Matcher::ElemMatch Privado
- Definido en:
- lib/mongoid/matcher/elem_match.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.
Comparador en memoria para la expresión $elemMatch.
Resumen del método de clase colapsar
-
.¿coincide?(existe, valor, condición) ⇒ verdadero | falso, booleano
privado
Devuelve si un valor cumple con una expresión $elemMatch.
Detalles del método de clase
.¿coincide?(existe, valor, condición) ⇒ 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 valor cumple con una expresión $elemMatch.
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 46 47 48 |
# Archivo 'lib/mongoid/matcher/elem_match.rb', línea 21 module_function def coincide?(exists, Valor, condición) a menos que Picadillo === condición propagar Errors::Consulta no válida, "$elemMatch requiere un operando Hash: #{Errores::ConsultaInválida.truncate_expr(condición)}" end si Arreglo === Valor && !Valor.¿vacío? Valor.any? hacer |v| ElemMatchExpression.coincide?(v, condición) end else # Valide que la condición sea válida, aunque nunca lo intentaremos # coindidiendolo. condición.cada hacer |k, v| k = k.to_s si k.start_with?('$') begin Operador de expresión.Obtener(k) rescate Mongoid::Errors::InvalidExpressionOperator begin Operador de campo.Obtener(k) rescate Mongoid::Errors::OperadorDeCampoNoVálido => Excª propagar Mongoid::Errors::InvalidElemMatchOperator.Nuevo(Excª.operador) end end end end false end end |