Module: NoBrainer::Tree::ClassMethods
- Defined in:
- lib/nobrainer/tree.rb
Overview
This module implements class methods that will be available on the document that includes NoBrainer::Tree
Instance Method Summary collapse
-
#leaves ⇒ NoBrainer::Criteria
Returns all leaves (be careful, currently involves two queries).
-
#root ⇒ NoBrainer::Document
Returns the first root document.
-
#roots ⇒ NoBrainer::Criteria
Returns all root documents.
Instance Method Details
#leaves ⇒ NoBrainer::Criteria
Returns all leaves (be careful, currently involves two queries)
143 144 145 |
# File 'lib/nobrainer/tree.rb', line 143 def leaves where(:id.nin => pluck(:id, :_type, :parent_id).collect(&:parent_id).compact) end |
#root ⇒ NoBrainer::Document
Returns the first root document
121 122 123 |
# File 'lib/nobrainer/tree.rb', line 121 def root roots.first end |
#roots ⇒ NoBrainer::Criteria
Returns all root documents
132 133 134 |
# File 'lib/nobrainer/tree.rb', line 132 def roots where(:or => [:parent_id.defined => false, :parent_id => nil]) end |