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/builders.rb,
lib/mongoid/relations/metadata.rb,
lib/mongoid/relations/accessors.rb,
lib/mongoid/relations/auto_save.rb,
lib/mongoid/relations/cascading.rb,
lib/mongoid/relations/touchable.rb,
lib/mongoid/relations/constraint.rb,
lib/mongoid/relations/conversions.rb,
lib/mongoid/relations/embedded/in.rb,
lib/mongoid/relations/polymorphic.rb,
lib/mongoid/relations/reflections.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/embedded/atomic.rb,
lib/mongoid/relations/referenced/many.rb,
lib/mongoid/relations/synchronization.rb,
lib/mongoid/relations/cascading/delete.rb,
lib/mongoid/relations/referenced/batch.rb,
lib/mongoid/relations/cascading/destroy.rb,
lib/mongoid/relations/cascading/nullify.rb,
lib/mongoid/relations/targets/enumerable.rb,
lib/mongoid/relations/embedded/atomic/set.rb,
lib/mongoid/relations/bindings/embedded/in.rb,
lib/mongoid/relations/builders/embedded/in.rb,
lib/mongoid/relations/embedded/atomic/pull.rb,
lib/mongoid/relations/bindings/embedded/one.rb,
lib/mongoid/relations/builders/embedded/one.rb,
lib/mongoid/relations/embedded/atomic/unset.rb,
lib/mongoid/relations/bindings/embedded/many.rb,
lib/mongoid/relations/bindings/referenced/in.rb,
lib/mongoid/relations/builders/embedded/many.rb,
lib/mongoid/relations/builders/referenced/in.rb,
lib/mongoid/relations/bindings/referenced/one.rb,
lib/mongoid/relations/builders/referenced/one.rb,
lib/mongoid/relations/referenced/batch/insert.rb,
lib/mongoid/relations/referenced/many_to_many.rb,
lib/mongoid/relations/bindings/referenced/many.rb,
lib/mongoid/relations/builders/referenced/many.rb,
lib/mongoid/relations/embedded/atomic/push_all.rb,
lib/mongoid/relations/embedded/atomic/operation.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
:nodoc:
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
-
#metadata ⇒ Object
Returns the value of attribute metadata.
Instance Method Summary collapse
-
#embedded? ⇒ true, false
Determine if the document itself is embedded in another document via the proper channels.
-
#embedded_many? ⇒ true, false
Determine if the document is part of an embeds_many relation.
-
#embedded_one? ⇒ true, false
Determine if the document is part of an embeds_one relation.
-
#referenced_many? ⇒ true, false
Determine if the document is part of an references_many relation.
-
#referenced_one? ⇒ true, false
Determine if the document is part of an references_one relation.
-
#reload_relations ⇒ Hash
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 Accessors
#build, #create_relation, #relation_exists?, #set_relation
Instance Attribute Details
#metadata ⇒ Object
Returns the value of attribute metadata.
49 50 51 |
# File 'lib/mongoid/relations.rb', line 49 def @metadata end |
Instance Method Details
#embedded? ⇒ true, false
Determine if the document itself is embedded in another document via the proper channels. (If it has a parent document.)
60 61 62 |
# File 'lib/mongoid/relations.rb', line 60 def @embedded ||= (cyclic ? _parent.present? : self.class.) end |
#embedded_many? ⇒ true, false
Determine if the document is part of an embeds_many relation.
72 73 74 |
# File 'lib/mongoid/relations.rb', line 72 def && .macro == :embeds_many end |
#embedded_one? ⇒ true, false
Determine if the document is part of an embeds_one relation.
84 85 86 |
# File 'lib/mongoid/relations.rb', line 84 def && .macro == :embeds_one end |
#referenced_many? ⇒ true, false
Determine if the document is part of an references_many relation.
96 97 98 |
# File 'lib/mongoid/relations.rb', line 96 def referenced_many? && .macro == :references_many end |
#referenced_one? ⇒ true, false
Determine if the document is part of an references_one relation.
108 109 110 |
# File 'lib/mongoid/relations.rb', line 108 def referenced_one? && .macro == :references_one end |
#reload_relations ⇒ Hash
Convenience method for iterating through the loaded relations and reloading them.
121 122 123 124 125 126 127 128 129 |
# File 'lib/mongoid/relations.rb', line 121 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 |