Clase: Mongoid::AtomicUpdatePreparer Privado

Hereda:
Objeto
  • Objeto
Mostrar todo
Definido en:
lib/mongoid/atomic_update_preparer.rb

Overview

Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.

Una clase singleton para ayudar a preparar atributos para actualizaciones atómicas.

Una vez que el método obsoleto Hash#__consolidate__ se elimina por completo, estos métodos se pueden trasladar a Mongoid::Contextual::Mongo como métodos privados.

Resumen del método de clase colapsar

Detalles del método de clase

.prepare(atributos, clase) ⇒ Hash

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Convierta las claves/valores en los atributos en un hash de actualizaciones atómicas. Se supone que las claves no operadoras utilizan el operador $set.

Parámetros:

  • klass (Clase) -

    La clase de modelo.

  • atributos (encriptada)

    Los atributos a convertir.

Devuelve:

  • (encriptada)

    Las actualizaciones atómicas preparadas.



21
22
23
24
25
26
27
28
29
30
31
# Archivo 'lib/mongoid/atomic_update_preparer.rb', línea 21

def prepare(atributos, klass)
  atributos.each_pair.with_object({}) hacer |(llave, Valor), atomic_updates|
    llave = klass.database_field_name(llave.to_s)

    si llave.to_s.start_with?('$')
      (atomic_updates[llave] ||= {}).update(prepare_operation(klass, llave, Valor))
    else
      (atomic_updates['$set'] ||= {})[llave] = mongoize_for('$set', klass, llave, Valor)
    end
  end
end