Módulo: Mongoid::Matcher::Bits Private
- Incluido en:
- BitsAllClear, BitsAllSet, BitsAnyClear, BitsAnySet
- Definido en:
- lib/mongoid/matcher/bits.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.
Módulo Mixin incluido en los comparadores de expresiones bit a bit.
Colapso delresumen del método de clase
-
.nombre_del_operador ⇒ Cadena
privada
Devuelve el nombre del operador de expresión.
Colapso del resumen del método de instancia
-
#coincidencias?(existe, valor, condición) ⇒ verdadero | falso
privada
Devuelve si un valor satisface una expresión bit a bit.
Detalles del método de clase
.nombre_del_operador ⇒ Cadena
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 el nombre del operador de expresión.
55 56 57 |
# Archivo 'lib/mongoid/matcher/bits.rb', línea 55 module_function def nombre_del_operador Nombre.sub(/.*::/, '').sub(/\A(.)/) { |l| l.mayúsculas y minúsculas } end |
Detalles del método de instancia
#coincidencias?(existe, valor, condición) ⇒ verdadero | falso
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 bit a bit.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# Archivo 'lib/mongoid/matcher/bits.rb', línea 20 def ¿partidos?(exists, valor, condición) caso valor Cuando BSON::Binario valor = valor.datos.división('').map { |n| '%02x' % n.orden }.Join.to_i(16) end caso condición Cuando Arreglo array_matches?(valor, condición) Cuando BSON::Binario int_cond = condición.datos.división('').map { |n| '%02x' % n.orden }.Join.to_i(16) int_coincide?(valor, int_cond) Cuando entero Si condición < 0 propagar Errors::Consulta no válida, "Valor no válido para el argumento $ #{operator_name}: no se permiten números enteros negativos: #{condition}" end int_coincide?(valor, condición) Cuando Float Si (int_cond = condición.to_i).to_f == condición Si int_cond < 0 propagar Errors::Consulta no válida, "Valor no válido para el argumento $#{operator_name}: no se permiten números negativos: #{condition}" end int_coincide?(valor, int_cond) else propagar Errors::Consulta no válida, "Tipono válido para el argumento $ #{operator_name}: no se puede representar como un entero: #{condition }" end else propagar Errors::Consulta no válida, "Tipono válido para el argumento $ #{operator_name}: #{condition }" end end |