Módulo: Mongoid::Matcher::En privado

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

Matcher en memoria para la expresión $in.

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 $in.

Parámetros:

  • exists (true | false)

    No se utiliza.

  • Valor (objeto)

    El valor a comprobar.

  • condición (arreglo<Object>)

    El predicado de condición $in.

Devuelve:

  • (true | false)

    Si el valor coincide.

  • (booleano)


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

module_function def coincide?(exists, Valor, condición)
  a menos que Arreglo === condición
    propagar Errors::Consulta no válida, "$in el argumento debe ser un arreglo: #{Errores::Consulta no válida.truncate_expr(condición)}"
  end
  si Arreglo === Valor
    si Valor.any? { |v|
      condición.any? hacer |C|
        EqImplWithRegexp.coincide?('$in', v, C)
      end
    } entonces
      return true
    end
  end
  condición.any? hacer |C|
    EqImplWithRegexp.coincide?('$in', Valor, C)
  end
end