Módulo: Mongoid::Association::Referenced::HasMany::Buildable

Incluido en:
Mongoid::Association::Referenced::HasMany
Definido en:
lib/mongoid/association/referenced/has_many/buildable.rb

Overview

El comportamiento Builder para las asociaciones has_many.

Resumen del método de instancia colapsar

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 el lado inverso usando el id o establece el objeto.

Ejemplos:

Compila el documento.

relation.build(meta, attrs)

Parámetros:

  • base (objeto)

    El objeto base.

  • Objeto (objeto)

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

  • tipo (string)

    El tipo de documento a query.

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

    Debe ser nulo.

Devuelve:



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

def compilar(base, Objeto, _type = nulo, selected_fields = nulo)
  return Objeto || [] a menos que query?(Objeto)

  # Gestionar un arreglo de hashes desde la agregación $lookup
  si Objeto.is_a?(Arreglo) && Objeto.¿todos? { |o| o.is_a?(encriptada) }
    return Objeto.map hacer |attrs|
      Fábrica.execute_from_db(klass, attrs, nulo, selected_fields, execute_callbacks: false)
    end
  end

  return [] si Objeto.is_a?(Arreglo)

  query_criteria(Objeto, base)
end