Módulo: Mongoid::Association::Embedded::EmbedsOne::Buildable

Incluye:
Ciclo de vida con subprocesos
Incluido en:
Mongoid::Association::Embedded::EmbedsOne
Definido en:
lib/mongoid/association/embedded/embeds_one/buildable.rb

Overview

Clase constructora para asociaciones embeds_one.

Resumen del método de instancia colapsar

Detalles del método de instancia

#compilar(base, objeto, _type = nil, selected_fields = nil) ⇒ documento

Construye el documento a partir de los atributos utilizando los metadatos de asociación proporcionados en la asociación. Se instancia a través de la fábrica para asegurarse de que se utilicen subclases y asignación si corresponde.

Ejemplos:

Compila el documento.

Builder.new(meta, attrs).build

Parámetros:

  • base (documento)

    El documento del que depende esta asociación.

  • Objeto (Documento | Hash)

    El documento relacionado.

  • _type (Cadena) (predeterminado: nulo)

    No se utiliza en este contexto.

  • campos seleccionados (Hash) (predeterminado: nulo)

    Campos que se recuperaron a través de #only. Si se especifican selected_fields, los campos que no figuran en ellas no estarán accesibles en el documento construido.

Devuelve:



28
29
30
31
32
33
34
35
36
37
38
39
# Archivo 'lib/mongoid/association/embedded/embeds_one/buildable.rb', línea 28

def compilar(base, Objeto, _type = nulo, campos seleccionados = nulo)
  si Objeto.is_a?(Picadillo)
    si _¿cargando? && base.¿persistió?
      Fábrica.execute_from_db(klass, Objeto, nulo, campos seleccionados, execute_callbacks: false)
    else
      Fábrica.compilar(klass, Objeto)
    end
  else
    clear_associated(Objeto)
    Objeto
  end
end