Module: Mongoid::Relations
- Extended by:
- ActiveSupport::Concern
- Includes:
- Accessors, AutoSave, Builders, Cascading, Cyclic, Macros, Polymorphic, Reflections, Synchronization, Touchable
- Included in:
- Components
- Defined in:
- lib/mongoid/relations.rb,
lib/mongoid/relations/one.rb,
lib/mongoid/relations/many.rb,
lib/mongoid/relations/proxy.rb,
lib/mongoid/relations/cyclic.rb,
lib/mongoid/relations/macros.rb,
lib/mongoid/relations/binding.rb,
lib/mongoid/relations/builder.rb,
lib/mongoid/relations/options.rb,
lib/mongoid/relations/metadata.rb,
lib/mongoid/relations/builders.rb,
lib/mongoid/relations/cascading.rb,
lib/mongoid/relations/auto_save.rb,
lib/mongoid/relations/accessors.rb,
lib/mongoid/relations/touchable.rb,
lib/mongoid/relations/constraint.rb,
lib/mongoid/relations/embedded/in.rb,
lib/mongoid/relations/reflections.rb,
lib/mongoid/relations/conversions.rb,
lib/mongoid/relations/polymorphic.rb,
lib/mongoid/relations/embedded/one.rb,
lib/mongoid/relations/embedded/many.rb,
lib/mongoid/relations/referenced/in.rb,
lib/mongoid/relations/nested_builder.rb,
lib/mongoid/relations/referenced/one.rb,
lib/mongoid/relations/referenced/many.rb,
lib/mongoid/relations/synchronization.rb,
lib/mongoid/relations/referenced/batch.rb,
lib/mongoid/relations/cascading/delete.rb,
lib/mongoid/relations/cascading/nullify.rb,
lib/mongoid/relations/cascading/destroy.rb,
lib/mongoid/relations/cascading/restrict.rb,
lib/mongoid/relations/targets/enumerable.rb,
lib/mongoid/relations/embedded/batchable.rb,
lib/mongoid/relations/builders/embedded/in.rb,
lib/mongoid/relations/bindings/embedded/in.rb,
lib/mongoid/relations/bindings/embedded/one.rb,
lib/mongoid/relations/builders/embedded/one.rb,
lib/mongoid/relations/builders/referenced/in.rb,
lib/mongoid/relations/bindings/referenced/in.rb,
lib/mongoid/relations/builders/embedded/many.rb,
lib/mongoid/relations/bindings/embedded/many.rb,
lib/mongoid/relations/referenced/batch/insert.rb,
lib/mongoid/relations/builders/referenced/one.rb,
lib/mongoid/relations/bindings/referenced/one.rb,
lib/mongoid/relations/referenced/many_to_many.rb,
lib/mongoid/relations/builders/referenced/many.rb,
lib/mongoid/relations/bindings/referenced/many.rb,
lib/mongoid/relations/builders/nested_attributes/one.rb,
lib/mongoid/relations/builders/nested_attributes/many.rb,
lib/mongoid/relations/bindings/referenced/many_to_many.rb,
lib/mongoid/relations/builders/referenced/many_to_many.rb
Overview
All classes and modules under the relations namespace handle the functionality that has to do with embedded and referenced (relational) associations.
Defined Under Namespace
Modules: Accessors, AutoSave, Bindings, Builders, Cascading, ClassMethods, Conversions, Cyclic, Embedded, Macros, Options, Polymorphic, Referenced, Reflections, Synchronization, Targets, Touchable Classes: Binding, Builder, Constraint, Many, Metadata, NestedBuilder, One, Proxy
Instance Attribute Summary (collapse)
-
- (Object) metadata
Returns the value of attribute metadata.
Instance Method Summary (collapse)
-
- (true, false) embedded?
Determine if the document itself is embedded in another document via the proper channels.
-
- (true, false) embedded_many?
Determine if the document is part of an embeds_many relation.
-
- (true, false) embedded_one?
Determine if the document is part of an embeds_one relation.
-
- (true, false) referenced_many?
Determine if the document is part of an references_many relation.
-
- (true, false) referenced_one?
Determine if the document is part of an references_one relation.
-
- (Hash) reload_relations
Convenience method for iterating through the loaded relations and reloading them.
Methods included from Synchronization
#remove_inverse_keys, #syncable?, #synced, #synced?, #update_inverse_keys
Methods included from Reflections
#reflect_on_all_associations, #reflect_on_association
Methods included from Macros
Methods included from Cascading
Methods included from AutoSave
#autosaved?, #begin_autosave, #exit_autosave
Methods included from Accessors
#__build__, #create_relation, #relation_exists?, #set_relation
Instance Attribute Details
- (Object) metadata
Returns the value of attribute metadata
48 49 50 |
# File 'lib/mongoid/relations.rb', line 48 def @metadata end |
Instance Method Details
- (true, false) embedded?
Determine if the document itself is embedded in another document via the proper channels. (If it has a parent document.)
59 60 61 |
# File 'lib/mongoid/relations.rb', line 59 def @embedded ||= (cyclic ? _parent.present? : self.class.) end |
- (true, false) embedded_many?
Determine if the document is part of an embeds_many relation.
71 72 73 |
# File 'lib/mongoid/relations.rb', line 71 def && .macro == :embeds_many end |
- (true, false) embedded_one?
Determine if the document is part of an embeds_one relation.
83 84 85 |
# File 'lib/mongoid/relations.rb', line 83 def && .macro == :embeds_one end |
- (true, false) referenced_many?
Determine if the document is part of an references_many relation.
95 96 97 |
# File 'lib/mongoid/relations.rb', line 95 def referenced_many? && .macro == :has_many end |
- (true, false) referenced_one?
Determine if the document is part of an references_one relation.
107 108 109 |
# File 'lib/mongoid/relations.rb', line 107 def referenced_one? && .macro == :has_one end |
- (Hash) reload_relations
Convenience method for iterating through the loaded relations and reloading them.
120 121 122 123 124 125 126 127 128 |
# File 'lib/mongoid/relations.rb', line 120 def reload_relations relations.each_pair do |name, | if instance_variable_defined?("@#{name}") if _parent.nil? || instance_variable_get("@#{name}") != _parent remove_instance_variable("@#{name}") end end end end |