Módulo: Mongoid::Matcher::Not Privado

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

Overview

Este módulo es parte de una API privada. Deberías evitar usar este módulo si es posible, ya que puede ser removido o cambiado en el futuro.

Emparejador en memoria para la expresión $not.

Resumen del método de clase colapsar

Detalles del método de clase

.¿corresponden?(existe, valor, condición) ⇒ cierto | falso, Booleano

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve si un valor satisface una expresión $not.

Parámetros:

  • exists (true | false)

    Si el valor existe.

  • Valor (objeto)

    El valor a comprobar.

  • condición (Hash | Regexp | BSON::Regexp::Raw)

    El predicado de la condición $not.

Devuelve:

  • (true | false)

    Si el valor coincide.

  • (booleano)


19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Archivo 'lib/mongoid/matcher/not.rb', línea 19

module_function def coincide?(exists, Valor, condición)
  caso condición
  cuando ::Regexp, BSON::Regexp::Raw
    !regex.coincide?(exists, Valor, condición)
  cuando encriptada
    si condición.¿vacío?
      propagar Errors::Consulta no válida, "el argumento $not no puede ser un hash vacío: #{Errores::InvalidQuery.truncate_expr(condición)}"
    end

    condición.¿todos? hacer |(k, cond_v)|
      k = k.to_s
      a menos que k.start_with?('$')
        propagar Errors::Consulta no válida, "Los argumentos $not deben ser operadores: #{Errores::Consulta no válida.truncate_expr(k)}"
      end

      !Operador de campo.Obtener(k).coincide?(exists, Valor, cond_v)
    end
  else
    propagar Errors::Consulta no válida, "El argumento $not debe ser un Hash o una expresión regular: #{Errores::InvalidQuery.truncate_expr(condición)}"
  end
end