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.
20 21 22 23 |
# Arquivo 'lib/mongoid/atomic/paths/embedded/many.rb', linha 20 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 documento Go 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 documento exigem a passagem de um documento para armazenamento, o que não temos ao tentar armazenar a lista vazia.
52 53 54 55 |
# Arquivo 'lib/mongoid/atomic/paths/embedded/many.rb', linha 52 def position_without_document(principal, associação) pos = principal.atomic_position "#{pos}#{"." a menos que 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.
33 34 35 36 37 |
# Arquivo 'lib/mongoid/atomic/paths/embedded/many.rb', linha 33 def Posição pos = principal.atomic_position localizador = documento.new_record? ? "" : ".#{documento._index}" "#{pos}#{"." a menos que pos.empty?}#{document._association.store_as}#{locator}" end |