Module: Sequel::Plugins::Tree::ClassMethods
- Defined in:
- lib/sequel/plugins/tree.rb
Instance Attribute Summary collapse
-
#parent_column ⇒ Object
The symbol for the column containing the value pointing to the parent of the leaf.
-
#tree_order ⇒ Object
The column symbol or array of column symbols on which to order the tree.
Instance Method Summary collapse
-
#roots ⇒ Object
Returns list of all root nodes (those with no parent nodes).
-
#roots_dataset ⇒ Object
Returns the dataset for retrieval of all root nodes.
Instance Attribute Details
#parent_column ⇒ Object
The symbol for the column containing the value pointing to the parent of the leaf.
60 61 62 |
# File 'lib/sequel/plugins/tree.rb', line 60 def parent_column @parent_column end |
#tree_order ⇒ Object
The column symbol or array of column symbols on which to order the tree.
56 57 58 |
# File 'lib/sequel/plugins/tree.rb', line 56 def tree_order @tree_order end |
Instance Method Details
#roots ⇒ Object
Returns list of all root nodes (those with no parent nodes).
TreeClass.roots # => [root1, root2]
67 68 69 |
# File 'lib/sequel/plugins/tree.rb', line 67 def roots roots_dataset.all end |
#roots_dataset ⇒ Object
Returns the dataset for retrieval of all root nodes
TreeClass.roots_dataset # => Sequel::Dataset instance
74 75 76 77 78 |
# File 'lib/sequel/plugins/tree.rb', line 74 def roots_dataset ds = where(Sequel.or(Array(parent_column).zip([]))) ds = ds.order(*tree_order) if tree_order ds end |