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

Definido en:
lib/mongoid/matcher/not.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.

Emparejador en memoria para la expresión $not.

Resumen del método de clase colapsar

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 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)


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

module_function def coincide?(exists, Valor, condición)
  caso condición
  Cuando ::Regexp, BSON::Regexp::Raw
    !regex.coincide?(exists, Valor, condición)
  Cuando Picadillo
    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: #{Errors::InvalidQuery.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