Módulo: Mongoid::Matcher::Type Privado

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

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

Parámetros:

  • exists (true | false)

    Si el valor existe.

  • Valor (objeto)

    El valor a comprobar.

  • condición (Integer | arreglo<Integer>)

    El predicado de la condición $type que corresponde a la enumeración del tipo BSON.

Devuelve:

  • (true | false)

    Si el valor coincide.

  • (booleano)


19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Archivo 'lib/mongoid/matcher/type.rb', línea 19

module_function def coincide?(exists, Valor, condición)
  condiciones = caso condición
               cuando Arreglo
                 condición
               cuando entero
                 [ condición ]
               else
                 propagar Errors::Consulta no válida, "Argumento desconocido $type: #{condition}"
               end
  condiciones.cada hacer |condición|
    return true si one_matches?(exists, Valor, condición)
  end
  false
end

.one_matches?(exists, value, condition) ⇒ verdadero | 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 cumple con un solo valor de expresión $type.

Parámetros:

  • exists (true | false)

    Si el valor existe.

  • Valor (objeto)

    El valor a comprobar.

  • condición (Número entero)

    El predicado de la condición $type que corresponde a la enumeración del tipo BSON.

Devuelve:

  • (true | false)

    Si el valor coincide.

  • (booleano)


45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# Archivo 'lib/mongoid/matcher/type.rb', línea 45

module_function def one_matches?(exists, Valor, condición)
  caso condición
  cuando 1
    # double
    Valor.is_a?(Float)
  cuando 2
    # string
    Valor.is_a?(String)
  cuando 3
    # objeto
    Valor.is_a?(encriptada)
  cuando 4
    # arreglo
    Valor.is_a?(Arreglo)
  cuando 5
    # Datos binarios
    Valor.is_a?(BSON::Binario)
  cuando 6
    # Sin definir
    Valor.is_a?(BSON::Indefinido)
  cuando 7
    # ObjectId
    Valor.is_a?(BSON::ObjectId)
  cuando 8
    # booleano
    Valor.is_a?(TrueClass) || Valor.is_a?(FalseClass)
  cuando 9
    # Fecha
    Valor.is_a?(fecha) || Valor.is_a?(Tiempo) || Valor.is_a?(Fecha y hora)
  cuando 10
    # Nulo
    exists && Valor.is_a?(NilClass)
  cuando 11
    # Expresión regular
    Valor.is_a?(Regexp::Raw) || Valor.is_a?(::Regexp)
  cuando 12
    # DBPointer obsoleto
    Valor.is_a?(BSON::DBPointer)
  cuando 13
    # JavaScript
    Valor.is_a?(BSON::Código)
  cuando 14
    # Símbolo obsoleto
    Valor.is_a?(Símbolo) || Valor.is_a?(BSON::Símbolo::Raw)
  cuando 15
    # Javascript con código obsoleto
    Valor.is_a?(BSON::CodeWithScope)
  cuando 16
    # 32-bit int
    Valor.is_a?(BSON::Int32) || (Valor.is_a?(entero) && (-2**32..(2**32) - 1).incluir?(Valor))
  cuando 17
    # Marca de tiempo
    Valor.is_a?(BSON::Marca de tiempo)
  cuando 18
    # Long
    Valor.is_a?(BSON::Int64) ||
      (Valor.is_a?(entero) &&
        (-2**64..(2**64) - 1).incluir?(Valor) &&
        !(-2**32..(2**32) - 1).incluir?(Valor))
  cuando 19
    # Decimal
    Valor.is_a?(BSON::Decimal128)
  cuando -1
    # minKey
    Valor.is_a?(BSON::MinKey)
  cuando 127
    # maxKey
    Valor.is_a?(BSON::Clave máxima)
  else
    propagar Errors::Consulta no válida, "Argumento desconocido $type: #{condition}"
  end
end