Módulo: Mongoid::Matcher::Type Private

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

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

Parámetros:

  • exists (verdadero | falso)

    Si el valor existe.

  • valor (Objeto) -

    El valor a comprobar.

  • condición (Entero | Matriz<Integer>)

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

Devuelve:

  • (verdadero | falso)

    Si el valor coincide.

  • (Booleano)


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

module_function def ¿partidos?(exists, valor, condición)
  condiciones = caso condición
  Cuando Arreglo
    condición
  Cuando entero
    [condición]
  else
    propagar Errors::Consulta no válida, "Argumento de tipo $ desconocido: #{condición}"
  end
  condiciones.cada hacer |condición|
    Si one_matches?(exists, valor, condición)
      return true
    end
  end
  false
end

.one_matches?(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 un único valor de expresión $type.

Parámetros:

  • exists (verdadero | falso)

    Si el valor existe.

  • valor (Objeto) -

    El valor a comprobar.

  • condición (Entero)

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

Devuelve:

  • (verdadero | falso)

    Si el valor coincide.

  • (Booleano)


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
117
118
119
120
121
# Archivo 'lib/mongoid/matcher/type.rb', línea 50

module_function def one_matches?(exists, valor, condición)
  caso condición
  Cuando 1
    # Doble
    Float === valor
  Cuando 2
    # Cadena
    String === valor
  Cuando 3
    # Objeto
    Picadillo === valor
  Cuando 4
    # Matriz
    Arreglo === valor
  Cuando 5
    # Datos binarios
    BSON::Binario === valor
  Cuando 6
    # Indefinido
    BSON::Indefinido === valor
  Cuando 7
    # ObjectId
    BSON::ObjectId === valor
  Cuando 8
    # Booleano
    Clase verdadera === valor || FalseClass === valor
  Cuando 9
    # Fecha
    fecha === valor || Tiempo === valor || Fecha y hora === valor
  Cuando 10
    # Nulo
    exists && Clase nula === valor
  Cuando 11
    # Expresiones regulares
    Regexp::Crudo === valor || ::Regexp === valor
  Cuando 12
    # DBPointer en desuso
    BSON::Puntero de base de datos === valor
  Cuando 13
    # JavaScript
    BSON::Código === valor
  Cuando 14
    # Símbolo obsoleto
    Símbolo === valor || BSON::Símbolo::Crudo === valor
  Cuando 15
    # Javascript con código obsoleto
    BSON::Código con alcance === valor
  Cuando 16
    # 32-bit int
    BSON::Int32 === valor || entero === valor && (-2**32..2**32-1).¿incluir?(valor)
  Cuando 17
    # Marca de tiempo
    BSON::Marca de tiempo === valor
  Cuando 18
    # Long
    BSON::Entero64 === valor ||
      entero === valor &&
        (-2**64..2**64-1).¿incluir?(valor) &&
        !(-2**32..2**32-1).¿incluir?(valor)
  Cuando 19
    # Decimal
    BSON::Decimal128 === valor
  Cuando -1
    # minKey
    BSON::MinKey === valor
  Cuando 127
    # clavemáxima
    BSON::MaxKey === valor
  else
    propagar Errors::Consulta no válida, "Argumento de tipo $ desconocido: #{condición}"
  end
end