Classe: Mongoid::Association::Referenced::HasOne::Proxy

Herda:
Um
  • Objeto
mostrar tudo
Estendido por:
Métodos de classe
Definido em:
lib/mongoid/association/referenced/has_one/proxy.rb

Visão geral

Proxy transparente para associações has_one. Uma instância dessa classe é retornada ao chamar o método de getter de associação no documento do assunto. Esta classe herda de Mongoid::Association::Proxy e encaminha a maioria de seus métodos para o destino da associação, ou seja, o documento na coleção do lado oposto que deve ser carregado.

Definido sob namespace

Módulos: Métodos de classe

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 instância

Métodos incluídos do ClassMethods

missing_loader, incorporado?

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

Instancie uma nova associação reference_one. Definirá a chave estrangeira e a base no objeto inverso.

Exemplos:

Crie a nova associação.

Referenced::One.new(base, target, association)

Parâmetros:



43
44
45
46
47
48
49
50
# File 'lib/mongoid/association/referenced/has_one/proxy.rb', linha 43

def inicializar(base, Alvo, associação)
  super fazer
    create_mixed se classe.incorporado? && !classe.cíclica?
    caracteriza_one(_target)
    bind_one
    _target.Salvar se persistente?
  end
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


58
59
60
61
# File 'lib/mongoid/association/referenced/has_one/proxy.rb', linha 58

def anular
  unbind_one
  _target.Salvar
end

#substituto(substituição) ➤ Um

Substitui o documento de destino fornecido pelo documento existente na associação. Se o novo destino for nulo, execute a exclusão necessária.

Exemplos:

Substitua a associação.

person.game.substitute(new_game)

Parâmetros:

  • substituição (Array <Document>)

    O alvo de substituição.

Retorna:

  • (Um)

    A associação.



73
74
75
76
# File 'lib/mongoid/association/referenced/has_one/proxy.rb', linha 73

def substituir(substituição)
  prepare_for_replacement se auto != substituição
  Tem um::Proxy.Novo(_base, substituição, _association) se substituição
end