Classe: Mongoid::Association::Embedded::EmbedsOne::Proxy

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

Visão geral

Proxy transparente para associações embeds_one. Uma instância dessa classe é retornada ao chamar o método de getter de associação no documento pai. 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 filho.

Colapsode resumo constante

VALID_OPTIONS =

As opções válidas ao definir esta associação.

Retorna:

  • (Array<Símbolo><Symbol>)

    As opções permitidas ao definir esta associação.

%i[
  autobuild
  como
  cascade_callbacks
  cíclica
  store_as
].congelar

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) ➤ Proxy

Crie uma instância de uma nova associação embeds_one.

Exemplos:

Crie o novo proxy.

One.new(person, name, association)

Parâmetros:



33
34
35
36
37
38
39
40
41
42
# File 'lib/mongoid/association/embedded/embeds_one/proxy.rb', linha 33

def inicializar(base, Alvo, associação)
  super fazer
    caracteriza_one(_target)
    bind_one
    caracteriza_one(_target)
    update_attributes_hash(_target)
    _base._reset_memoized_descendentes!
    _target.Salvar se persistente?
  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:



190
191
192
# File 'lib/mongoid/association/embedded/embeds_one/proxy.rb', linha 190

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::EmbedsOne.embedded?

Retorna:

  • (verdadeiro)

    verdadeiro.



201
202
203
# File 'lib/mongoid/association/embedded/embeds_one/proxy.rb', linha 201

def incorporado?
  true
end

.caminho(documento) ➤ Mongoid::Atomic::Paths::Embedded::One

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:



214
215
216
# File 'lib/mongoid/association/embedded/embeds_one/proxy.rb', linha 214

def caminho(documento)
  Mongoid::Atômico::Caminhos::Embedded::Um.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.



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/mongoid/association/embedded/embeds_one/proxy.rb', linha 53

def substituir(substituição)
  Método auto se substituição == auto

  se _assigning?
    _base.add_atomic_unset(_target) a menos que substituição
  mais
    update_target_when_not_assigning(substituição)
  end

  unbind_one

  Método nada se replace_with_nil_document(substituição)

  replace_with(substituição)

  auto
end