Module: Monarchy::ActsAsResource::InstanceMethods
- Defined in:
- lib/monarchy/acts_as_resource.rb
Instance Method Summary collapse
- #children ⇒ Object
- #children=(array) ⇒ Object
- #ensure_hierarchy(force = false) ⇒ Object
- #parent ⇒ Object
- #parent=(resource) ⇒ Object
Instance Method Details
#children ⇒ Object
77 78 79 |
# File 'lib/monarchy/acts_as_resource.rb', line 77 def children @children ||= children_resources end |
#children=(array) ⇒ Object
81 82 83 84 |
# File 'lib/monarchy/acts_as_resource.rb', line 81 def children=(array) hierarchy&.update(children: hierarchies_for(array)) @children = array end |
#ensure_hierarchy(force = false) ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/monarchy/acts_as_resource.rb', line 86 def ensure_hierarchy(force = false) self.hierarchy ||= Monarchy.hierarchy_class.create( resource: self, parent: parent.try(:hierarchy), children: hierarchies_for(children) ) if self.class.automatic_hierarchy || force end |
#parent ⇒ Object
67 68 69 |
# File 'lib/monarchy/acts_as_resource.rb', line 67 def parent @parent = hierarchy.try(:parent).try(:resource) || @parent end |
#parent=(resource) ⇒ Object
71 72 73 74 75 |
# File 'lib/monarchy/acts_as_resource.rb', line 71 def parent=(resource) Monarchy::Validators.resource(resource, true) hierarchy&.update(parent: resource.try(:ensure_hierarchy)) @parent = resource end |