Classe: Mongoid::Association::Embedded::EmbedsMany

Herda:
Objeto
  • Objeto
mostrar tudo
Inclui:
Construível, Relatável
Definido em:
lib/mongoid/association/embedded/embeds_many.rb,
lib/mongoid/association/embedded/embeds_many/proxy.rb,
lib/mongoid/association/embedded/embeds_many/binding.rb,
lib/mongoid/association/embedded/embeds_many/buildable.rb

Visão geral

A associação de tipo EmbedsMany.

Definido sob namespace

Módulos: Construível Classes: Vinculação, Proxy

Colapsode resumo constante

ASSOCIATION_OPTIONS =

As opções disponíveis para este tipo de associação, além das comuns.

Retorna:

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

    As opções extras válidas.

[
    :as,
    :cascade_callbacks,
    : cíclica,
    :order,
    :store_as,
    :before_add,
    :after_add,
    :before_remove,
    :after_remove
]
VALID_OPTIONS =

A lista completa de opções válidas para esta associação, incluindo as compartilhadas.

Retorna:

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

    As opções válidas.

(ASSOCIATION_OPTIONS + SHARED_OPTIONS).congelar

Constantes incluídas do Relatable

Relatável::PRIMARY_KEY_DEFAULT, Relatável::SHARED_OPTIONS

Resumo do atributo de instância

Atributos incluídos do Relatable

#name, #options, #parent_inclusions

Recolhimento do Resumo do método de instância

Métodos incluídos do Buildable

#build

Métodos incluídos do Relatable

#==, #bindable?, #counter_cache_column_name, #create_relation, #destructive?, #extension, #foreign_key_check, #foreign_key_setter, #get_callbacks, #in_to?, #initialize, #inverse, #inverse_association, #inverse_class, #inverse_class_name, #inverse_setter, #inverse_type, #inverse_type_setter, #inverses, #many?, #one?, #relation_class, #relation_class_name, #setter, #type_setter, #validate?

Métodos incluídos em Opções

#as, #autoconstrução?, #autosave, #cascadeing_callbacks?, #counter_cached?, #cíclica?, #depende, #forced_nil_inverse?, #indexado?.

Métodos incluídos no Constrainable

#convert_to_foreign_key

Detalhes do método de instância

#critério(base, alvo) ➤ Objeto

Obtenha um objeto de critérios para pesquisar dados de documentos pai e filho.

Parâmetros:

  • base (Documento)

    O documento base.

  • Alvo (Documento)

    Os documentos das crianças.



137
138
139
140
141
142
143
144
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 137

def critério(base, Alvo)
  criterion = classe.com escopo
  criterion.incorporado = true
  criterion.documentos = Alvo
  criterion.parent_document = base
  criterion.associação = auto
  apply_ordering(criterion)
end

#incorporado?verdadeiro

Esse tipo de associação está incorporado?

Retorna:

  • (verdadeiro)

    Sempre verdadeiro.



66
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 66

def incorporado?; true; end

#chavestring

A chave usada para obter os atributos do objeto associado.

Retorna:

  • (string)

    O nome do campo utilizado para armazenar a associação.



59
60
61
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 59

def chave
  store_as.to_s
end

#nested_builder(attributes, opções) ➤Association ::Nested::Many

O objeto de construtor aninhado.

Parâmetros:

  • attributes (Hash)

    Os atributos a serem utilizados para construir o objeto de associação.

  • opções (Hash)

    As opções para a associação.

Retorna:



116
117
118
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 116

def nested_builder(attributes, opções)
  Aninhado::Muitos.Novo(auto, attributes, opções)
end

#caminho(documento) ➤ Mongoid::Atomic::Paths::Embedded::Many

Obtenha a calcula de caminho para o documento fornecido .

Exemplos:

Obtenha a calcula de caminho.

Proxy.path(document)

Parâmetros:

  • documento (Documento)

    O documento para calcular.

Retorna:



129
130
131
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 129

def caminho(documento)
  Mongoid::Atômico::Caminhos::Embedded::Muitos.Novo(documento)
end

#polimórfico?verdadeiro | false

Essa associação é polimórfica?

Retorna:

  • (verdadeiro | falso)

    Se esta associação é polimórfica.



97
98
99
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 97

def polimórfico?
  @polymorphic ||= !!@opções[:as]
end

#primary_keynil

A chave primária

Retorna:

  • (nil)

    Não é relevante para esta associação



85
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 85

def primary_key; end

#relação ➤Association::Embedded::EmbedsMany::Proxy

Obtenha a classe de proxy de associação para este tipo de associação.

Retorna:



90
91
92
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 90

def relação
  Proxy
end

#configuração!auto

Configure os métodos de instância, campos, etc. na classe possuidora da associação.

Retorna:

  • (self)


42
43
44
45
46
47
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 42

def configuração!
  setup_instance_methods!
  @ Owner_class.embedded_relations = @ Owner_class.embedded_relations.mesclar(name => auto)
  @ Owner_class.aliased_fields[name.to_s] = store_as se store_as
  auto
end

#store_asString

A chave de campo utilizada para armazenar a lista de objetos de associação.

Retorna:

  • (string)

    O nome do campo .



52
53
54
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 52

def store_as
  @store_as ||= (@opções[:store_as].tentar(:to_s) || name.to_s)
end

#stores_foreign_key?false

Esse tipo de associação armazena a chave estrangeira?

Retorna:

  • (falso)

    Sempre falso.



80
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 80

def stores_foreign_key?; false; end

#tipostring | nada

Observação:

Só é relevante se a associação for polimórfica.

O campo utilizado para armazenar o tipo do objeto relacionado.

Retorna:

  • (string | nil)

    O campo para armazenar o tipo do objeto associado.



106
107
108
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 106

def type
  @type ||= "#{as}_type" se polimórfico?
end

#validation_defaulttrue

Obtenha a configuração de validação padrão para a associação. Determina se, por padrão, ocorrerá uma validação associada.

Exemplos:

Obtenha o padrão de validação.

Proxy.validation_default

Retorna:

  • (verdadeiro)

    Sempre verdadeiro.



75
# File 'lib/mongoid/association/embedded/embeds_many.rb', linha 75

def validation_default; true; end