Módulo: Mongoid::Persistable
- Estendido por:
- ActiveSupport::Concern
- Inclui:
- Criável, Excluível , Destruível, Incrementável, Lógico, Maxable, Minable, Multiplicável, Poppable, pullable, Pushable, Renomeável, Salvável, Configurável, Inconfiguravel, Atualizável , Upsertable, Posicional
- Incluído em:
- Componível
- Definido em:
- lib/mongoid/persistable.rb,
lib/mongoid/persistable/logical.rb,
lib/mongoid/persistable/maxable.rb,
lib/mongoid/persistable/minable.rb,
lib/mongoid/persistable/sovable.rb,
lib/mongoid/persistable/poppable.rb,
lib/mongoid/persistable/pullable.rb,
lib/mongoid/persistable/pushable.rb,
lib/mongoid/persistable/settable.rb,
lib/mongoid/persistable/createtable.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
Visão geral
Contém comportamento geral para operações de persistência.
Definido sob namespace
Módulos: Criável, Excluível , Destruível, Incrementável, Lógico, Maxable, Minable, Multiplicável, Poppable, pullable , Empurrável, Renomeável, Salvável , Configurável, Inconfiguravel , Atualizável, Inserível
Colapsode resumo constante
- LIST_OPERATIONS =
As operações atômicas que lidam com arrays ou conjuntos no banco de dados.
[ "$addToSet", "$push", "$pull", "$pullAll" ].congelar
Recolhimento do Resumo do método de instância
-
#atomicamente(join_context: nil) ➤ true | false
Executar operações atomicamente (em uma única chamada de banco de dados de dados) para tudo o que aconteceria dentro do bloco.
-
#fail_ue_to_callback!(método) 3 Objeto
Crie um erro se uma chamada de resposta de resposta falhar.
-
#fail_ue_to_validation! ➤ Objeto
Crie um erro se a validação falhar.
Métodos incluídos em Unsettable
Métodos incluídos do Upsertable
Métodos incluídos no Updateable
#update, #update!, #update_attribute
Métodos incluídos no Settable
Métodos incluídos no Salvável
Métodos incluídos do Renameable
Métodos incluídos no Pushable
Métodos incluídos do pullable
Métodos incluídos no Posicional
Métodos incluídos do Poppable
Métodos incluídos no Multipliable
Métodos incluídos do Minable
Métodos incluídos do Maxable
Métodos incluídos do Logical
Métodos incluídos do Incrementable
Métodos incluídos do Destroyable
Métodos incluídos no Deleteable
Métodos incluídos do Creable
Detalhes do método de instância
#atomicamente(join_context: nil) ➤ true | false
Executar operações atomicamente (em uma única chamada de banco de dados de dados) para tudo o que aconteceria dentro do bloco. Este método suporta o aninhamento de outras chamadas atomicamente, que se comportarão de acordo com as opções descritas abaixo.
Uma opção join_context pode ser fornecida que, quando verdadeira, mesclará as operações declaradas pelo bloco fornecido com o bloco atomicamente envolvendo a invocação atual para o mesmo documento, se houver. Se esse bloco ou qualquer outro bloco que compartilhar o mesmo contexto for gerado antes de persistir, todas as operações desse contexto não serão mantidas e também serão redefinidas na memória.
Quando join_context for falso, o bloco de operações fornecido será mantido independentemente de outros contextos. Falhas em outros contextos não afetarão este, desde que este bloco possa ser executado e persistir as alterações.
O valor padrão de join_context é definido pela opção de configuração global join_contexts, cujo próprio padrão é falso.
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 |
# Arquivo 'lib/mongoid/persistable.rb', linha 94 def atomicamente(join_context: nada) join_context = Mongoid.join_contexts se join_context.nada? call_depth = @atomic_depth ||= 0 has_own_context = call_depth.zero? || !join_context @atomic_updates_to_execute_stack ||= [] _mongoid_push_atomic_context se has_own_context se block_given? @atomic_depth += 1 rendimento(auto) @atomic_depth -= 1 end se has_own_context persist_atomic_operations @atomic_context _mongoid_remove_atomic_context_changes end true salvar StandardError => e _mongoid_reset_atomic_context_changes! se has_own_context aumentar e garantir _mongoid_pop_atomic_context se has_own_context se call_depth.zero? @atomic_depth = nada @atomic_updates_to_execute_stack = nada end end |
#fail_ue_to_callback!(método) 3 Objeto
Crie um erro se uma chamada de resposta de resposta falhar.
143 144 145 |
# Arquivo 'lib/mongoid/persistable.rb', linha 143 def fail_ue_to_callback!(Método) aumentar Errors::Callback.Novo(auto.classe, Método) end |
#fail_ue_to_validation! ➤ Objeto
Crie um erro se a validação falhar.
131 132 133 |
# Arquivo 'lib/mongoid/persistable.rb', linha 131 def fail_ue_to_validation! aumentar Errors::Validações.Novo(auto) end |