Class: Mongoid::Association::EagerLoad::EmbeddedInclusion Private
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
AssociationInclusion,
Inclusion
|
|
|
Instance Chain:
self,
AssociationInclusion,
Inclusion
|
|
| Inherits: |
Mongoid::Association::EagerLoad::AssociationInclusion
|
| Defined in: | lib/mongoid/association/eager_load/inclusion.rb |
Overview
An embedded inclusion: it rides inside its own document, so it adds no stage of its own. Its children contribute to the same destination, with this document appended to their embedded path.
For Computer.eager_load(port: :device) the :port inclusion emits nothing;
it hands the path [ :port ] to :device, which EmbeddedDistributor then
turns into stages.
Class Method Summary
- .for?(association) ⇒ true | false Internal use only
AssociationInclusion - Inherited
Instance Attribute Summary
AssociationInclusion - Inherited
Instance Method Summary
-
#contribute(destination, chain)
Internal use only
Add no stage of its own; hand this document down the embedded path so the children distribute onto it.
Inclusion - Inherited
| #contribute | Add this inclusion's stages to the destination. |
Constructor Details
This class inherits a constructor from Mongoid::Association::EagerLoad::AssociationInclusion
Class Method Details
.for?(association) ⇒ true | false
# File 'lib/mongoid/association/eager_load/inclusion.rb', line 132
def for?(association) association. end
Instance Method Details
#contribute(destination, chain)
Add no stage of its own; hand this document down the embedded path so the children distribute onto it.
# File 'lib/mongoid/association/eager_load/inclusion.rb', line 144
def contribute(destination, chain) @children.each { |child| child.contribute(destination, chain + [ @association ]) } end