Módulo: Mongoid::Persistable::Logical

Ampliado por:
ActiveSupport::Preocupación
Incluido en:
Mongoid::Persistable
Definido en:
lib/mongoid/persistable/logical.rb

Overview

Define el comportamiento para operaciones lógicas bit a bit.

Colapso del resumen del método de instancia

Detalles del método de instancia

#bit(operaciones) ⇒ Documento

Realiza una operación atómica $bit en el campo con el hash proporcionado de operaciones bit a bit para ejecutar en orden.

Ejemplos:

Ejecutar las operaciones bit a bit.

person.bit(age: { :and => 12 }, val: { and: 10, or: 12 })

Parámetros:

  • Operaciones (Hash)

    Las operaciones bit a bit.

Devuelve:



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Archivo 'lib/mongoid/persistable/logical.rb', línea 20

def bit(Operaciones)
  preparar_operación_atómica hacer |ops|
    operaciones atómicas del proceso(Operaciones) hacer |Campo, values|
      valor = atributos[Campo]
      values.cada hacer |op, val|
        valor = valor Y val Si op.a_s == "y"
        valor = valor | val Si op.a_s == "o"
      end
      atributo_de_proceso Campo, valor Si ejecutando_atómicamente?
      atributos[Campo] = valor
      ops[nombre_del_atributo_atómico(Campo)] = values
    end
    { "$bit" => ops } a no ser que ops.¿vacío?
  end
end