Módulo: Mongoid::Matcher::Bits Private
- Incluído em:
- BitsAllClear, BitsAllSet, BitsAnyClear, BitsAnySet
- Definido em:
- lib/mongoid/matcher/bits.rb
Visão geral
Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.
Módulo Mixin incluído em correspondedores de expressão bitwise.
Recolhimento do Resumo do método de classe
-
.operator_name ➤ string
privado
Retorna o nome do operador de expressão .
Recolhimento do Resumo do método de instância
-
#correspondências?(existe, valor, condição) ➤ verdadeiro | false
privado
Retorna se um valor satisfaz uma expressão bitwise.
Detalhes do método de classe
.operator_name ➤ string
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna o nome do operador de expressão .
55 56 57 |
# Arquivo 'lib/mongoid/matcher/bits.rb', linha 55 module_function def operator_name name.sub(/.*::/, '').sub(/\A(.)/) { |l| l.downcase } end |
Detalhes do método de instância
#correspondências?(existe, valor, condição) ➤ verdadeiro | false
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna se um valor satisfaz uma expressão bitwise.
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 |
# Arquivo 'lib/mongoid/matcher/bits.rb', linha 20 def correspondências?(existe, valor, Condição) caso valor quando BSON::Binário valor = valor.de dados.dividir('').map { |n| '%02x' % n.ord }.juntar.to_i(16) end caso Condição quando Array array_matches?(valor, Condição) quando BSON::Binário int_cond = Condição.de dados.dividir('').map { |n| '%02x' % n.ord }.juntar.to_i(16) int_matches?(valor, int_cond) quando Inteiro se Condição < 0 aumentar Errors::Query inválida, "Valor inválido para $#{operator_name} argumento: números inteiros negativos não são permitidos: #{condição}" end int_matches?(valor, Condição) quando Float se (int_cond = Condição.to_i).to_f == Condição se int_cond < 0 aumentar Errors::Query inválida, "Valor inválido para $#{operator_name} argumento: números negativos não são permitidos: #{conditions}" end int_matches?(valor, int_cond) mais aumentar Errors::Query inválida, "Tipo inválido para $#{operator_name} argumento: não representável como um número inteiro: #{condição}" end mais aumentar Errors::Query inválida, "Tipo inválido para argumento de $#{operator_name} : #{condição}" end end |