Classe: Mongoid::Atomic::Paths::Embedded::Many

Herda:
Objeto
  • Objeto
mostrar tudo
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

Recolhimento do Resumo do método de instância

Métodos incluídos do Mongoid::Atomic::Paths::Embedded

#path

Detalhes do construtor

#initialize(documento) ⇒ many

Crie o novo utilitário de caminho.

Exemplos:

Crie o caminho util.

Many.new(document)

Parâmetros:

  • documento (Documento)

    O documento para o qual gerar os caminhos.



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.

Parâmetros:

Retorna:

  • (string)

    A string de posição.



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çãostring

Obtenha a posição do documento na hierarquia. Isso incluirá índices de 1-n associações incorporadas que podem estar acima das incorporadas.

Exemplos:

Obtenha a posição.

many.position

Retorna:

  • (string)

    A posição do documento.



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