module Sequel::Plugins::Tree::ClassMethods
Attributes
parent_column[RW]
The symbol for the column containing the value pointing to the parent of the leaf.
tree_order[RW]
The column symbol or array of column symbols on which to order the tree.
Public Instance Methods
freeze()
click to toggle source
Should freeze tree order if it is an array when freezing the model class.
Calls superclass method
# File lib/sequel/plugins/tree.rb 67 def freeze 68 @tree_order.freeze if @tree_order.is_a?(Array) 69 70 super 71 end
roots()
click to toggle source
Returns list of all root nodes (those with no parent nodes).
TreeClass.roots # => [root1, root2]
# File lib/sequel/plugins/tree.rb 76 def roots 77 roots_dataset.all 78 end
roots_dataset()
click to toggle source
Returns the dataset for retrieval of all root nodes
TreeClass.roots_dataset # => Sequel::Dataset instance
# File lib/sequel/plugins/tree.rb 83 def roots_dataset 84 ds = where(Sequel.or(Array(parent_column).zip([]))) 85 ds = ds.order(*tree_order) if tree_order 86 ds 87 end