Module: ThroughHierarchy::Base::ClassMethods
- Defined in:
- lib/through_hierarchy/base.rb
Instance Method Summary collapse
-
#inherited(child) ⇒ Object
deep_dup these class attributes on inheritance so we can safely use in-place modifiers.
- #joins_through_hierarchy(name) ⇒ Object
- #through_hierarchy(members, &blk) ⇒ Object
Instance Method Details
#inherited(child) ⇒ Object
deep_dup these class attributes on inheritance so we can safely use in-place modifiers
22 23 24 25 |
# File 'lib/through_hierarchy/base.rb', line 22 def inherited(child) child.hierarchical_associations = self.hierarchical_associations.deep_dup super end |
#joins_through_hierarchy(name) ⇒ Object
31 32 33 34 |
# File 'lib/through_hierarchy/base.rb', line 31 def joins_through_hierarchy(name) hierarchical_associations.key?(name) or raise ThroughHierarchyAssociationMissingError, "No association named #{name} was found. Perhaps you misspelled it?" hierarchical_associations[name].join end |