Módulo: Mongoid::Persistable
- Ampliado por:
- ActiveSupport::Concern
- Incluye:
- Creable, Eliminable, Destruible, Incrementable, Lógico, Maximizable, Minimizables, Multiplicable, Extraible, Recuperable, Empujable, Renombrable, Guardable, Configurable, No configurable, Actualizable, Sustituible, Posicional
- Incluido en:
- Compuesto
- Definido en:
- lib/mongoid/persistable.rb,
lib/mongoid/persistable/logical.rb,
lib/mongoid/persistable/maxable.rb,
lib/mongoid/persistable/minable.rb,
lib/mongoid/persistable/savable.rb,
lib/mongoid/persistable/poppable.rb,
lib/mongoid/persistable/pullable.rb,
lib/mongoid/persistable/pushable.rb,
lib/mongoid/persistable/settable.rb,
lib/mongoid/persistable/creatable.rb,
lib/mongoid/persistable/deletable.rb,
lib/mongoid/persistable/renamable.rb,
lib/mongoid/persistable/updatable.rb,
lib/mongoid/persistable/unsettable.rb,
lib/mongoid/persistable/upsertable.rb,
lib/mongoid/persistable/destroyable.rb,
lib/mongoid/persistable/multipliable.rb,
lib/mongoid/persistable/incrementable.rb
Overview
Contiene un comportamiento general para las operaciones de persistencia.
Definido bajo Namespace
Modules: Creable, Eliminable, Destruible, Incrementable, Lógico, Maximizable, Minimizadle, Multiplicable, Extraíble, Retráctil, Presionable, Renombrable, Guardable, Configurable, No configurable, Actualizable, Fusionable
Colapso delresumen constante
- LIST_OPERATIONS =
Las operaciones atómicas que procesan arreglos o conjuntos en la base de datos.
[ "$addToSet", "$push", "$pull", "$pullAll" ].freeze
Resumen del método de instancia colapsar
-
#atomically(join_context: nil) ⇒ true | false
Ejecuta las operaciones de forma atómica (en una sola llamada a la base de datos) para todo lo que suceda dentro del bloque.
-
#¡Fallo debido a la devolución de llamada!(método) ⇒ Objeto
Genera un error si falla una devolución de llamada.
-
#¡Fallo debido a la validación! ⇒ Objeto
Esta función genera un error si la validación falla.
Métodos incluidos en Unsettable
Métodos incluidos de Upsertable
Métodos incluidos de Actualizable
#update, #update!, #update_attribute
Métodos incluidos de Settable
Métodos incluidos en Savable
Métodos incluidos de Renamable
Métodos incluidos de Empujable
#añadir_al_conjunto, #empujar
Métodos incluidos en Pullable
Métodos incluidos desde Positional
Métodos incluidos en Poppable
Métodos incluidos de Multipliable
Métodos incluidos de Minable
Métodos incluidos de Maxable
Métodos incluidos desde Logical
Métodos incluidos de Incrementable
Métodos incluidos de Destruible
Métodos incluidos de suprimible
Métodos incluidos en Creatable
Detalles del método de instancia
#atómicamente(join_context: nil) ⇒ true | false
Ejecute las operaciones de forma atómica (en una sola llamada de base de datos) para todo lo que suceda dentro del bloque. Este método permite anidar más llamadas a atómicamente, que se comportarán según las opciones descritas a continuación.
Se puede dar una opción join_context que, cuando sea verdadera, fusionará las operaciones declaradas por el bloque dado con el bloque atómico que envuelve la invocación actual para el mismo documento, si existe uno. Si este bloque o cualquier otro bloque que comparta el mismo contexto se ejecuta antes de persistir, entonces todas las operaciones de ese contexto no se guardarán y también se restablecerán en la memoria.
Cuando join_context es falso, el bloque de operaciones dado se conservará de forma independiente a otros contextos. Las fallas en otros contextos no afectarán este, siempre y cuando este bloque pueda ejecutarse y conservar los cambios.
El valor por defecto de join_context se establece mediante la opción de configuración global join_contexts, cuyo valor por defecto es false.
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# Archivo 'lib/mongoid/persistable.rb', línea 94 def atómicamente(contexto_de_unión: nulo) join_context = Mongoid.join_contexts si join_context.nil? call_depth = @atomic_depth ||= 0 tiene_su_contexto = call_depth.zero? || !join_context @atomic_updates_to_execute_stack ||= [] _mongoid_push_atomic_context si tiene_su_contexto si ¿block_given? @atomic_depth += 1 rendimiento(sí mismo) @atomic_depth -= 1 end si tiene_su_contexto persist_atomic_operations @atomic_context remover end true rescate StandardError => e ¡_mongoid_reset_cambios_de_contexto_atómico! si tiene_su_contexto propagar e asegurar _mongoid_pop_atomic_context si tiene_su_contexto si call_depth.zero? @atomic_depth = nulo @atomic_updates_to_execute_stack = nulo end end |
#fail_due_to_callback!(method) ⇒ Object
Genera un error si falla una devolución de llamada.
143 144 145 |
# Archivo 'lib/mongoid/persistable.rb', línea 143 def ¡fallar_debido_a_callback!(Método) propagar Errors::Callback.Nuevo(sí mismo.clase, Método) end |
#fallar_debido_a_validacion! ⇒ Objeto
Esta función genera un error si la validación falla.
131 132 133 |
# Archivo 'lib/mongoid/persistable.rb', línea 131 def falló_por_validación! propagar Errors::validación.Nuevo(sí mismo) end |