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

Inclui:
Treaded::Lifecycle
Incluído em:
Mongoid::Association::Embedded::EmbedsMany
Definido em:
lib/mongoid/association/embedded/embeds_many/buildable.rb

Visão geral

classe de construtor para associações embeds_many.

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#build(base, objeto, type = nil,selected_fields = nil) ➤ Array<Document ] Os documentos.

Constrói o documento a partir dos atributos usando os metadados de associação fornecidos. Instancia-se por meio da fábrica para garantir que as subclasses e a alocação sejam usadas, se adequados. Este caso retornará muitos documentos.

Exemplos:

Construir os documentos.

Builder.new(meta, attrs).build

Parâmetros:

  • base (Documento)

    O objeto base.

  • objeto (Array <Documento> | Array<Hash>)

    O objeto a ser usado para criar a associação.

  • type (string) (padrão para: nil)

    Não usado neste contexto.

  • campos_selecionados (Hash) (padrão para: nil)

    Campos que foram recuperados via #only. Se selecionados_campos forem especificados, os campos não listados nele não estarão acessíveis nos documentos construídos.

Retorna:

  • (Array <Document ] Os documentos.)

    Array<Document ] Os documentos.



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/mongoid/association/embedded/embeds_many/buildable.rb', linha 30

def COMPILAR(base, objeto, type = nada, campos_selecionados = nada)
  Método [] se objeto.em branco?
  Método objeto se objeto.primeiro.is_a?(Documento)
  Docs = []
  objeto.cada fazer |attrs|
    se _loading? && base.persistiu?
      Docs.push(Factory.execute_from_db(classe, attrs, nada, campos_selecionados, execute_callbacks: false))
    mais
      Docs.push(Factory.COMPILAR(classe, attrs))
    end
  end
  Docs
end