Módulo: Mongoid::Composable

Estendido por:
ActiveSupport::Concern
Inclui:
ActiveModel::ForlibdenAttributesProtection, ActiveModel::Model, ActiveModel::Serializers::JSON, Inspectable, Association, Atomic, Attributes, Cacheable, Alterável, Clientes, CollectionConfigurable, Copiável, Criptografável, Igualdade, Evolvable, Campos, Indexável, Interceptável, Correspondente, Persistente , recarregável, escopo, SearchIndexable, selecionável, serializável, fragmentável, com estado, threaded ::Lifecycle , traversável , validável
Incluído em:
Documento
Definido em:
lib/mongoid/composable.rb

Visão geral

Este módulo fornece inclusões de todo o comportamento em um documento Mongoid .

Colapsode resumo constante

MODULES =
[
  Atômico,
  Atributos,
  Copiável,
  Mutável,
  Evolvable,
  Campos,
  Indexável,
  Inspecionável,
  Interceptável,
  Matchable,
  Persistente,
  associação,
  Recarregável,
  Escopável,
  Serializável,
  Clientes,
  Clientes::Opções,
  Fragmentável,
  Com estado,
  Em cache,
  Threaded::Ciclo de vida,
  Atravessável,
  Validável,
  Igualdade,
  associação::Referenciado::Sincronizável,
  associação::macros,
  ActiveModel::Modelo,
  ActiveModel::Validações
]
RESERVED_METHOD_NAMES =

Esses são nomes de métodos definidos nos blocos incluídos que podem entrar em conflito com a associação definida pelo usuário ou os nomes de campo . Eles não estarão na lista de Módulo.instance_methods da qual o código #prohibited_methods abaixo depende, portanto, devemos rastreá-los separadamente.

Retorna:

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

    Uma lista de nomes de métodos reservados.

[ :fields,
  :aliased_fields,
  :localized_fields,
  :index_specifications,
  :shard_key_fields,
  :nested_attributes,
  :readonly_attributes,
  :storage_options,
  :cascades,
  : cíclica,
  :cache_timestamp_format
]

Constantes incluídas do Interceptable

Interceptável::CALLBACKS

Constantes incluídas da associação

Associação::MACRO_MAPPING

Constantes incluídas de Associação::Dependendo

Associação::Dependendo::estratégias

Constantes incluídas do Persistable

Persistente::LIST_OPERATIONS

Constantes incluídas de Campos

Campos::Boolean, Campos::IDS, Campos::INVALID_BSON_CLASSES, Campos::StringifiedSymbol, Campos::TYPE_MAPPINGS

Constantes incluídas do Atomic

Atomic::UPDATES

Resumo do atributo de instância

Atributos incluídos de Stateful

#destroyed, #flog_for_destroy, #previously_new_record

Atributos incluídos da associação

#_association

Atributos incluídos de Atributos

#attributes

Atributos incluídos de Mongoid::Clients::StorageOptions

#remembered_storage_options

Recolhimento do Resumo do método de classe

Métodos incluídos da equalização

#, #==, #eql?

Métodos incluídos em Copyable

#clone

Métodos incluídos no Interceptable

, #in_callback_state? , #pending_callbacks, #pending_callbacks=, #run_after_callbacks, #run_before_callbacks, #run_callbacks, #run_pending_callbacks

Métodos incluídos no Validable

#begin_validate, #exit_validate, #performing_validations?, #read_attribute_for_validation, #valid?, #validado?, #validating_with_query?

Métodos incluídos do Traversable

#_children, #_descendentes, #_parent, #_parent=, #_reset_memoized_descendentes!, #_root, #_root?, #collect_children, #collect_descendentes, #marca_descendentes_persisted, #heredityary?, #parentize, #remove_child, #reset_persisted_descendentes

Métodos incluídos no Cacheable

#cache_key

Métodos incluídos do Stateful

#destruído?, #flog_for_destroy?, #new_record=, #new_record?, #persistiu?, #previously_new_record?, #previously_persisted?, #pushable?, #readonly!, #readonly?, #settable?, #atualizável?

Métodos incluídos no Shardable

#shard_key_field_value, #shard_key_fields, #shard_key_selector, #shard_key_selector_in_db

Métodos incluídos do Serializable

#serializable_hash

Métodos incluídos em Selectable

#atomic_selector

Métodos incluídos no Reloadable

#reload

Métodos incluídos da associação

#association_name, #embedded?, #embedded_many?, #embedded_one?, #referenced_many?, #referenced_one?, #reload_relations

Métodos incluídos da associação::reflexões

#reflect_on_all_association, #reflect_on_association

Métodos incluídos da associação::macros

#associations

Métodos incluídos de Associação::Dependendo

#apply_destroy_dependencies!, define_dependency!, valide!

Métodos incluídos de Associação::Accessors

#__build__, #create_relation, #reset_relation_criteria, #set_relation

Métodos incluídos de Associação::Referenciado::Syncable

#_syncable?, #_synced, #_synced?, #remove_inverse_keys, #update_inverse_keys

Métodos incluídos de Federation::Referenced::CounterCache

define_callbacks!, #reset_counters

Métodos incluídos de Associação::Referenciado::AutoSave

#__autosaving__, #autosaved?, #changed_for_autosave?, define_autosave!

Métodos incluídos no Persistable

#atomicly, #fail_duce_to_callback!, #fail_ue_to_validation!

Métodos incluídos no Persistable::Unsettable

#unset

Métodos incluídos do Persistable::Upsertable

#upsert

Métodos incluídos no Persistable::Updatable

#update, #update!, #update_attribute

Métodos incluídos do Persistable::Settable

#set

Métodos incluídos no Persistable::Sovable

#save, #save!

Métodos incluídos no Persistable::Renamable

#rename

Métodos incluídos no Persistable::Pushable

#add_to_set, #push

Métodos incluídos no Persistable::Pullable

#pull, #pull_all

Métodos incluídos no Posicional

#positionalmente

Métodos incluídos no Persistable::Poppable

#pop

Métodos incluídos no Persistable::Multipliable

#mul

Métodos incluídos no Persistable::Minable

#set_min

Métodos incluídos no Persistable::Maxable

#set_max

Métodos incluídos no Persistable::Logical

#bit

Métodos incluídos no Persistable::Incrementable

#inc

Métodos incluídos no Persistable::Destroyable

#destroy, #destroy!

Métodos incluídos no Persistable::Deletable

#delete

Métodos incluídos no Persistable::Creatable

#insert

Métodos incluídos do Matchable

#_matches?

Métodos incluídos dos Campos

#apply_default, #apply_defaults, #apply_post_processed_defaults, #apply_pre_processed_defaults, #attribute_names, database_field_name, #database_field_name, #dot_dollar_field?, #lazy_settable?, opção, opções, traverse_association_tree, #using_object_ids?, #validate_write_field_name!

Métodos incluídos no Evolvable

#__evolve_object_id__

Métodos incluídos dos Atributos

#assign_attributes, #attribute_missing?, #attribute_present?, #attributes_before_type_cast, #has_attribute?, #has_attribute_before_type_cast?, #process_raw_attribute, #read_attribute, #read_attribute_before_type_cast, #remove_attribute, #typed_attributes, #write_attribute, #write_attributes

Métodos incluídos de Attributes::Readonly

#attribute_writeable?

Métodos incluídos de Attributes::Processing

#process_attributes

Métodos incluídos dos clientes

limpar, clientes, padrão, desconectar, definir, with_name

Métodos incluídos do Mongoid::Clients::Sessions

incluído

Métodos incluídos do Mongoid::Clients::Options

#collection, #collection_name, #mongo_client, #persistence_context, #persistence_context?, #com

Métodos incluídos do Mongoid::Clients::StorageOptions

#remember_storage_options!, #storage_options

Métodos incluídos no Changeable

#attribute_before_last_save, #changed, #changed?, #changed_attributes, #changes, #children_changed?, #move_changes, #post_persist, #previous_changes, #remove_change, #saved_change_to_attribute, #saved_change_to_attribute?, #setters, # will_save_change_to_attribute?

Métodos incluídos do Atomic

#add_atomic_pull, #add_atomic_unset, #atomic_array_add_to_sets, #atomic_array_pulls, #atomic_array_pushes, #atomic_attribute_name, #atomic_delete_modifier, #atomic_insert_modifier, #atomic_path, #atomic_paths, #atomic_position, #atomic_pulls, #atomic_pushes, #atomic_sets, #atomic_unsets, #atomic_updates, #delayed_atomic_pulls, #delayed_atomic_sets, #delayed_atomic_unsets, #marca_as_destroyed, #primaged_destroys, #process_lagaged_destroys

Detalhes do método de classe

.returned_methodsArray<Symbol>

Obtenha uma lista de métodos que seria uma má ideia definir como nomes de campo ou substituir ao incluir Mongoid::Document.

Exemplos:

Coisa ruim!

Mongoid::Components.prohibited_methods

Retorna:

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


128
129
130
131
132
# Arquivo 'lib/mongoid/composable.rb', linha 128

def returned_methods
  @prohibited_methods ||= Módulos.flat_map fazer |mod|
    mod.instance_methods.map(&:to_sym)
  end + RESERVED_METHOD_NAMES
end