Classe: Mongoid::Atomic::Paths::Embedded::Many
- Herda:
-
Objeto
- Objeto
- Mongoid::Atomic::Paths::Embedded::Many
- Inclui:
- Mongoid::Atomic::Paths::Embedded
- Definido em:
- lib/mongoid/atomic/paths/embedded/many.rb
Visão geral
Esta classe encapsula o comportamento para localizar e atualizar documentos definidos como um 1-n incorporado.
Resumo do atributo de instância
Atributos incluídos do Mongoid::Atomic::Paths::Embedded
#delete_modifier, #document, #insert_modifier, #parent
Recolhimento do Resumo do método de classe
-
.position_without_document(principal, associação) ➤ string
Obtenha a posição de onde o documento Go para a associação fornecida.
Recolhimento do Resumo do método de instância
-
#initialize(documento) ⇒ many
construtor
Crie o novo utilitário de caminho.
-
#posição ➤ string
Obtenha a posição do documento na hierarquia.
Métodos incluídos do Mongoid::Atomic::Paths::Embedded
Detalhes do construtor
#initialize(documento) ⇒ many
Crie o novo utilitário de caminho.
18 19 20 21 |
# Arquivo 'lib/mongoid/atomic/paths/embedded/many.rb', linha 18 def inicializar(documento) @document, @parent = documento, documento._parent @insert_modifier, @delete_modifier = '$push', '$pull' end |
Detalhes do método de classe
.position_without_document(principal, associação) ➤ string
Obtenha a posição de onde o document irá para a associação fornecida. O caso de uso dessa função é ao tentar persistir uma lista vazia para uma associação incorporada. Todas as funções existentes para obter a posição de armazenar um document exigem a passagem de um document para armazenamento, o que não temos ao tentar armazenar a lista vazia.
49 50 51 52 |
# Arquivo 'lib/mongoid/atomic/paths/embedded/many.rb', linha 49 def position_without_document(principal, associação) pos = principal.atomic_position "#{pos}#{'.' exceto pos.empty?}#{associação.store_as}" end |
Detalhes do método de instância
#posição ➤ string
Obtenha a posição do documento na hierarquia. Isso incluirá índices de 1-n associações incorporadas que podem estar acima das incorporadas.
31 32 33 34 35 |
# Arquivo 'lib/mongoid/atomic/paths/embedded/many.rb', linha 31 def Posição pos = principal.atomic_position localizador = documento.new_record? ? '' : ".#{documento._index}" "#{pos}#{'.' exceto pos.empty?}#{document._association.store_as}#{locator}" end |