Module: Mongoid::Association::Embedded::Cyclic::ClassMethods
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| 
       Extended In: 
      
     | |
| Defined in: | lib/mongoid/association/embedded/cyclic.rb | 
Instance Method Summary
- 
    
      #recursively_embeds_many(options = {})  
    
    
Create a cyclic embedded association that creates a tree hierarchy for the document and many embedded child documents.
 - 
    
      #recursively_embeds_one(options = {})  
    
    
Create a cyclic embedded association that creates a single self referencing relationship for a parent and a single child.
 - 
    
      #cyclic_child_name(many = true)  ⇒ String 
    
    private
    
Determines the child name given the class.
 - 
    
      #cyclic_parent_name  ⇒ String 
    
    private
    
Determines the parent name given the class.
 
Instance Method Details
#cyclic_child_name(many = true) ⇒ String (private)
Determines the child name given the class.
# File 'lib/mongoid/association/embedded/cyclic.rb', line 96
def cyclic_child_name(many = true) ("child_#{self.name.demodulize.underscore.send(many ? :pluralize : :singularize)}").to_sym end
#cyclic_parent_name ⇒ String (private)
Determines the parent name given the class.
# File 'lib/mongoid/association/embedded/cyclic.rb', line 83
def cyclic_parent_name ("parent_#{self.name.demodulize.underscore.singularize}").to_sym end
#recursively_embeds_many(options = {})
Create a cyclic embedded association that creates a tree hierarchy for the document and many embedded child documents.
This provides the default nomenclature for accessing a parent document or its children.
# File 'lib/mongoid/association/embedded/cyclic.rb', line 39
def ( = {}) ( cyclic_child_name, .merge(class_name: self.name, cyclic: true) ) cyclic_parent_name, class_name: self.name, cyclic: true end
#recursively_embeds_one(options = {})
Create a cyclic embedded association that creates a single self referencing relationship for a parent and a single child.
This provides the default nomenclature for accessing a parent document or its children.
# File 'lib/mongoid/association/embedded/cyclic.rb', line 67
def ( = {}) ( cyclic_child_name(false), .merge(class_name: self.name, cyclic: true) ) cyclic_parent_name, class_name: self.name, cyclic: true end