Classe: Mongoid::Association::Embedded::EmbeddedIn::Proxy

Herda:
Um
  • Objeto
mostrar tudo
Definido em:
lib/mongoid/association/embedded/embedded_in/proxy.rb

Visão geral

Proxy transparente para associações embedded_in. Uma instância dessa classe é retornada ao chamar o método de getter de associação no documento filho. Essa classe herda de Mongoid::Association::Proxy e encaminha a maioria de seus métodos para o destino da associação, ou seja, o documento pai.

Resumo constante

Constantes herdadas do Proxy

Proxy::KEEPER_METHODS

Resumo do atributo de instância

Atributos herdados do proxy

#_association, #_base, #_target

Recolhimento do Resumo do método de classe

Recolhimento do Resumo do método de instância

Métodos herdados de One

#__evolve_object_id__, #clear, #in_memory, #respond_to?

Métodos herdados do Proxy

apply_ordering, #extend_proxies, #klass, #reset_unloaded, #substitutable

Métodos incluídos noMarshable

.

Detalhes do construtor

#inicializar(base, destino, associação) ➤ Em

Instancie uma nova associação embedded_in.

Exemplos:

Crie a nova associação.

Association::Embedded::EmbeddedIn.new(person, address, association)

Parâmetros:



24
25
26
27
28
29
# File 'lib/mongoid/association/embedded/embedded_in/proxy.rb', linha 24

def inicializar(base, Alvo, associação)
  super fazer
    caracteriza_one(_target)
    bind_one
  end
end

Detalhes do método de classe

.ans_loader(associações, Docs) ➤ Mongoid::Association::Embedded::Eager

Retorna o carregador ansioso para esta associação.

Parâmetros:

  • Associações (Array <Mongoid::Association>)

    As associações que devem ser carregadas

  • Docs (Array <Mongoid::Document>)

    Os documentos pai que possuem as associações fornecidas, que devem ser preenchidos pelos documentos carregados com frequência.

Retorna:



95
96
97
# File 'lib/mongoid/association/embedded/embedded_in/proxy.rb', linha 95

def ans_loader(Associações, Docs)
  Ansioso.Novo(Associações, Docs)
end

.incorporado?verdadeiro

Retorna verdadeiro se a associação for incorporada. Neste caso, sempre verdadeiro.

Exemplos:

Essa associação está incorporada?

Association::Embedded::EmbeddedIn.embedded?

Retorna:

  • (verdadeiro)

    verdadeiro.



106
107
108
# File 'lib/mongoid/association/embedded/embedded_in/proxy.rb', linha 106

def incorporado?
  true
end

.caminho(documento) ➤ Raiz

Obtenha a calcula de caminho para o documento fornecido .

Exemplos:

Obtenha a calcula de caminho.

Proxy.path(document)

Parâmetros:

  • documento (Documento)

    O documento para calcular.

Retorna:

  • (Raiz)

    A Calculadora de Caminho Atômico Raiz.



118
119
120
# File 'lib/mongoid/association/embedded/embedded_in/proxy.rb', linha 118

def caminho(documento)
  Mongoid::Atômico::Caminhos::Raiz.Novo(documento)
end

Detalhes do método de instância

# replace ( substituição) ➤ Documento | nada

Substitui os documentos de destino fornecidos pelo documento existente na associação.

Exemplos:

Substitua o novo documento.

person.name.substitute(new_name)

Parâmetros:

  • substituição (Documento | Hash)

    Um documento para substituir o destino.

Retorna:

  • (Document | nil)

    A associação ou nulo.



40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/mongoid/association/embedded/embedded_in/proxy.rb', linha 40

def substituir(substituição)
  unbind_one
  a menos que substituição
    _base.excluir se persistente?
    Método nada
  end
  _base.new_record = true
  substituição = Factory.COMPILAR(classe, substituição) se substituição.is_a?(::Hash)
  auto._target = substituição
  bind_one
  auto
end