Módulo: Mongoid::Matcher::No 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.

Comparador en memoria para la expresión $not.

Colapso delresumen del método de clase

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 (verdadero | falso)

    Si el valor existe.

  • valor (Objeto) -

    El valor a comprobar.

  • condición (Hash | Exp. regular | BSON::Exp. regular::Sin procesar)

    El predicado de condición $not.

Devuelve:

  • (verdadero | falso)

    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 ¿partidos?(exists, valor, condición)
  caso condición
  Cuando ::Regexp, BSON::Regexp::Crudo
    !Regex.¿partidos?(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: #{Errors::InvalidQuery.truncate_expr(condition)}"
    end

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

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