Clase: Mongoid::Asociación::Incrustado::IncrustadosUno::Proxy

Hereda:
Uno
  • Objeto
Mostrar todo
Definido en:
lib/mongoid/asociación/incrustado/embeds_one/proxy.rb

Overview

Proxy transparente para asociaciones embeds_one. Se devuelve una instancia de esta clase al llamar al método getter de asociación en el documento padre. Esta clase hereda de Mongoid::Association::Proxy y reenvía la mayoría de sus métodos al destino de la asociación, es decir, el documento hijo.

Colapso delresumen constante

VALID_OPTIONS =

Las opciones válidas al definir esta asociación.

Devuelve:

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

    Las opciones permitidas al definir esta asociación.

%i[
  autoconstrucción
  como
  devoluciones de llamadas en cascada
  cíclico
  store_as
].freeze

Constantes heredadas de Proxy

Proxy::MÉTODOS_KEEPER

Resumen de atributos de instancia

Atributos heredados de Proxy

#_association, #_base, #_target

Colapso delresumen del método de clase

Colapso del resumen del método de instancia

Métodos heredados de Uno

#__evolve_object_id__, #borrar, #en_memoria, #responder_a?

Métodos heredados de Proxy

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

Métodos incluidos de Marshalable

#marshal_dump, #marshal_load

Detalles del constructor

#inicializar(base, destino, asociación) ⇒ Proxy

Crear una nueva asociación embeds_one.

Ejemplos:

Crea el nuevo proxy.

One.new(person, name, association)

Parámetros:



33
34
35
36
37
38
39
40
41
42
# Archivo 'lib/mongoid/association/embedded/embeds_one/proxy.rb', línea 33

def inicializar(base, destino, asociación)
  Super hacer
    characterize_one(_objetivo)
    bind_one
    characterize_one(_objetivo)
    update_attributes_hash(_objetivo)
    _objetivo.guardar Si ¿persistente?
    _base._reset_memoized_descendants!
  end
end

Detalles del método de clase

.eager_loader(asociaciones, documentos) ⇒ Mongoid::Association::Embedded::Eager

Devuelve el cargador ansioso para esta asociación.

Parámetros:

  • asociaciones (Matriz)

    Las asociaciones que se encuentran ansiosas de cargarse

  • docs (Matriz)

    Los documentos principales que poseen las asociaciones dadas, que deben ser completados por los documentos cargados con anticipación.

Devuelve:



190
191
192
# Archivo 'lib/mongoid/association/embedded/embeds_one/proxy.rb', línea 190

def cargador ansioso(asociaciones, docs)
  Ansioso.Nuevo(asociaciones, docs)
end

.¿incrustado?true

Devuelve true si la asociación es una asociación embebida. En este caso, siempre es verdadero.

Ejemplos:

¿Está esta asociación incrustada?

Association::Embedded::EmbedsOne.embedded?

Devuelve:

  • (verdadero) -

    verdadero.



201
202
203
# Archivo 'lib/mongoid/association/embedded/embeds_one/proxy.rb', línea 201

def ¿incorporado?
  true
end

.ruta(documento) ⇒ Mongoid::Atomic::Paths::Embedded::One

Obtenga la calculadora de ruta para el documento proporcionado.

Ejemplos:

Obtén la calculadora de rutas.

Proxy.path(document)

Parámetros:

  • Documento (Documento) -

    El documento sobre el que se realizará el cálculo.

Devuelve:



214
215
216
# Archivo 'lib/mongoid/association/embedded/embeds_one/proxy.rb', línea 214

def ruta(Documento)
  Mongoid::Atómico::Caminos::Embedded::Uno.Nuevo(Documento)
end

Detalles del método de instancia

#sustituto(reemplazo) ⇒ Documento | nulo

Sustituye los documentos de destino suministrados por el documento existente en la asociación.

Ejemplos:

Sustituir el nuevo documento.

person.name.substitute(new_name)

Parámetros:

  • sustitución (Documento | Hash)

    Un documento para reemplazar el objetivo.

Devuelve:

  • (Document | nil)

    La asociación o nula.



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

def sustituir(sustitución)
  return yo Si sustitución == yo

  Si ¿_asignando?
    _base.añadir_desactivación_atómica(_objetivo) a no ser que sustitución
  else
    update_target_when_not_assigning(sustitución)
  end

  unbind_one

  return nulo Si reemplazar_con_documento_nil(sustitución)

  reemplazar_con(sustitución)

  yo
end