Módulo: Mongoid::Asociación::Referenciado::TieneUno::Construible

Incluye:
WithPolymorphicCriteria
Incluido en:
Mongoid::Association::Referenced::HasOne
Definido en:
lib/mongoid/association/referenced/has_one/buildable.rb

Overview

El comportamiento del Builder en las asociaciones has_one.

Resumen del método de instancia colapsar

Métodos incluidos de WithPolymorphicCriteria

#con_criterio_polimórfico

Detalles del método de instancia

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

Este método toma un _id o un objeto y query por el lado inverso usando el id o configura el objeto después de limpiar el objeto asociado.

Parámetros:

  • base (objeto)

    El objeto base.

  • Objeto (objeto)

    El objeto que se usará para compilar la asociación.

  • tipo (string)

    El tipo de la asociación.

  • selected_fields (nil) (valor por defecto: nil)

    Debe ser nulo.

Devuelve:



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Archivo 'lib/mongoid/association/referenced/has_one/buildable.rb', línea 23

def compilar(base, Objeto, _type = nulo, selected_fields = nulo)
  si query?(Objeto)
    # Gestionar un arreglo de hashes desde la agregación $lookup
    si Objeto.is_a?(Arreglo) && Objeto.¿todos? { |o| o.is_a?(encriptada) }
      doc = Objeto.primero
      return doc ? Fábrica.execute_from_db(klass, doc, nulo, selected_fields, execute_callbacks: false) : nulo
    end

    ejecutar_consulta(Objeto, base) a menos que base.nuevo_registro?
  else
    clear_associated(Objeto)
    Objeto
  end
end