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.
Resumen del método de clase colapsar
-
.operator_name ⇒ String
privado
Devuelve el nombre del operador de expresión.
Resumen del método de instancia colapsar
-
#coincidencias?(existe, valor, condición) ⇒ verdadero | falso
privado
Devuelve si un valor cumple con 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 operator_name Nombre.sub(/.*::/, '').sub(/\A(.)/) { |l| l.minúscula } end |
Detalles del método de instancia
#matches?(exists, value, condition) ⇒ true | false
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 cumple con 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 coincide?(exists, Valor, condición) caso Valor Cuando BSON::Binario Valor = Valor.Datos.división('').map { |n| '%02x' % n.ord }.unirse.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.ord }.unirse.to_i(16) int_coincide?(Valor, int_cond) Cuando entero si condición < 0 propagar Errors::Consulta no válida, "Valor inválido para $#{operator_name} argumento: no se permiten 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 inválido para $#{operator_name} argumento: 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 |