Módulo: Mongoid::Matcher::FieldOperator Privado

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

El módulo Singleton ofrece la búsqueda de emparejadores de operador del query relacionados con valores de campo.

Resumen de constantes colapsar

MAP =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

{
  '$all' => Todo,
  '$bitsAllClear' => BitsAllClear,
  '$bitsAllSet' => BitsAllSet,
  '$bitsAnyClear' => BitsAnyClear,
  '$bitsAnySet' => BitsAnySet,
  '$elemMatch' => ElemMatch,
  '$eq' => Eq,
  '$exists' => exists,
  '$gt' => Gt,
  '$gte' => Gte,
  '$in' => En,
  '$lt' => Tnte.,
  '$lte' => Lte,
  '$mod' => Mod,
  '$nin' => Nin,
  '$ne' => Ne,
  '$not' => No,
  '$regex' => regex,
  '$tamaño' => Tamaño,
  '$type' => Tipo
}.freeze

Resumen del método de clase colapsar

Detalles del método de clase

.apply_array_field_operator(_exists, value, _condition, &block) ⇒ Object

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.

TODO:

Refactoriza esto ya que solo es relevante para $lt, $lte, $gt, $gte.

Se utiliza para evaluar los operadores de comparación $lt, $lte, $gt, $gte.



52
53
54
55
56
57
58
# Archivo 'lib/mongoid/matcher/field_operator.rb', línea 52

module_function def apply_array_field_operator(_exists, Valor, _condition, &bloque)
  si Valor.is_a?(Arreglo)
    Valor.any?(&bloque)
  else
    rendimiento Valor
  end
end

.apply_comparison_operator(operador, izquierda, derecha) ⇒ Objeto

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.

TODO:

Refactoriza esto ya que solo es relevante para $lt, $lte, $gt, $gte.

Se utiliza para evaluar los operadores de comparación $lt, $lte, $gt, $gte.



65
66
67
68
69
70
71
72
73
# Archivo 'lib/mongoid/matcher/field_operator.rb', línea 65

module_function def aplicar_operador_de_comparación(operador, izquierda, derecha)
  izquierda.enviar(operador, derecha)
rescate ArgumentError, NoMethodError, TypeError
  # Silenciamos los intentos de comparación falsos, p. ej. número a string
  # comparaciones.
  # Se pueden producir varias excepciones diferentes en función de los tipos
  # involucrados.
  false
end

.get(op) ⇒ Module

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 el módulo matcher para un operador determinado.

Parámetros:

  • op (string)

    El nombre del operador.

Devuelve:

  • (Módulo)

    El módulo de emparejador.



41
42
43
44
45
# Archivo 'lib/mongoid/matcher/field_operator.rb', línea 41

module_function def Obtener(op)
  MAP.obtener(op)
rescate KeyError
  propagar Errors::OperadorDeCampoNoVálido.Nuevo(op)
end