Module: Locomotive::Concerns::Page::Tree
- Extended by:
- ActiveSupport::Concern
- Included in:
- Page
- Defined in:
- app/models/locomotive/concerns/page/tree.rb
Defined Under Namespace
Modules: PatchedTreeMethods
Instance Method Summary collapse
-
#children_with_minimal_attributes(attrs = []) ⇒ Array
Returns the children of this node but with the minimal set of required attributes.
- #depth ⇒ Object
-
#sort_children!(ids) ⇒ Object
Assigns the new position of each child of this node.
Instance Method Details
#children_with_minimal_attributes(attrs = []) ⇒ Array
Returns the children of this node but with the minimal set of required attributes
65 66 67 |
# File 'app/models/locomotive/concerns/page/tree.rb', line 65 def children_with_minimal_attributes(attrs = []) self.children.minimal_attributes(attrs) end |
#depth ⇒ Object
84 85 86 |
# File 'app/models/locomotive/concerns/page/tree.rb', line 84 def depth self.parent_ids.count end |
#sort_children!(ids) ⇒ Object
Assigns the new position of each child of this node.
73 74 75 76 77 78 79 80 81 82 |
# File 'app/models/locomotive/concerns/page/tree.rb', line 73 def sort_children!(ids) position, cached_children = 0, self.children.to_a ids.each do |id| if child = cached_children.detect { |p| p._id == BSON::ObjectId.from_string(id) } child.position = position child.save position += 1 end end end |