Classe: Mongoid::Association::Referenced::BelongsTo::Proxy

Herda:
Um
  • Objeto
mostrar tudo
Inclui:
Evolvable
Definido em:
build/mongoid-8.1/lib/mongoid/association/referenced/belongs_to/proxy.rb

Visão geral

Essa classe lida com todo o comportamento de associações que são um-para-muitos ou um-para-um, onde a chave estrangeira é armazenada neste lado da associação e a referência é a documento em outra coleção.

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 incluídos no Evolvable

#__evolve_object_id__

Métodos herdados de One

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

Métodos herdados do Proxy

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

Métodos incluídos noMarshable

.

Detalhes do construtor

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

Instancie um novo proxy de associação requires_to.

Exemplos:

Crie o novo proxy.

Association::BelongsTo::Proxy.new(game, person, association)

Parâmetros:

  • base (Documento)

    O documento do qual esta associação depende.

  • Alvo (Documento | Array <Documento>)

    O destino (principal) da associação.

  • associação (Associação)

    O objeto de associação.



24
25
26
27
28
29
# File 'build/mongoid-8.1/lib/mongoid/association/referenced/belongs_to/proxy.rb', linha 24

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

Detalhes do método de classe

.ans_loader(associação, Docs) ➤ Objeto

Obtenha o objeto Eager para este tipo de associação.

Exemplos:

Obter o objeto de carregador ansioso

Parâmetros:

  • associação (Associação)

    O objeto de associação.

  • Docs (Array <Document>)

    A array de documentos.



105
106
107
# File 'build/mongoid-8.1/lib/mongoid/association/referenced/belongs_to/proxy.rb', linha 105

def ans_loader(associação, Docs)
  Ansioso.Novo(associação, Docs)
end

.incorporado?false

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

Exemplos:

Essa associação está incorporada?

Association::BelongsTo::Proxy.embedded?

Retorna:

  • (falso)

    Sempre falso.



116
117
118
# File 'build/mongoid-8.1/lib/mongoid/association/referenced/belongs_to/proxy.rb', linha 116

def incorporado?
  false
end

Detalhes do método de instância

#anularObjeto

Remove a associação entre o documento base e o documento de destino excluindo a chave estrangeira e a referência, deixando o documento de destino órfão no processo.

Exemplos:

Anular a associação.

person.game.nullify


37
38
39
40
# File 'build/mongoid-8.1/lib/mongoid/association/referenced/belongs_to/proxy.rb', linha 37

def anular
  unbind_one
  _target.Salvar
end

#substituta(substituição) ⇒ auto | nada

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

Exemplos:

Substitua a associação.

name.substitute(new_name)

Parâmetros:

Retorna:

  • (self | nil)

    A associação ou nulo.



51
52
53
54
55
56
57
58
# File 'build/mongoid-8.1/lib/mongoid/association/referenced/belongs_to/proxy.rb', linha 51

def substituir(substituição)
  unbind_one
  se substituição
    auto._target = normalizar(substituição)
    bind_one
    auto
  end
end