Module: Gluttonberg::DragTree::ActiveRecord::ModelHelpersClassMethods::ClassMethods
- Defined in:
- lib/gluttonberg/drag_tree/active_record.rb
Instance Method Summary collapse
- #all_sorted(query = {}) ⇒ Object
- #behaves_as_a_drag_tree ⇒ Object
- #behaves_as_a_flat_drag_tree ⇒ Object
- #make_flat_drag_tree ⇒ Object
- #repair_drag_tree ⇒ Object
Instance Method Details
#all_sorted(query = {}) ⇒ Object
74 75 76 77 78 |
# File 'lib/gluttonberg/drag_tree/active_record.rb', line 74 def all_sorted(query={}) objs = self.order("position asc") objs = objs.where(query) unless query.blank? objs end |
#behaves_as_a_drag_tree ⇒ Object
50 51 52 |
# File 'lib/gluttonberg/drag_tree/active_record.rb', line 50 def behaves_as_a_drag_tree true end |
#behaves_as_a_flat_drag_tree ⇒ Object
58 59 60 |
# File 'lib/gluttonberg/drag_tree/active_record.rb', line 58 def behaves_as_a_flat_drag_tree self.is_flat_drag_tree end |
#make_flat_drag_tree ⇒ Object
54 55 56 |
# File 'lib/gluttonberg/drag_tree/active_record.rb', line 54 def make_flat_drag_tree self.is_flat_drag_tree = true end |
#repair_drag_tree ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/gluttonberg/drag_tree/active_record.rb', line 62 def repair_drag_tree if self.drag_tree_scope_column.blank? repair_list(self.all_sorted.all) else unique_scope_ids = self.select(self.drag_tree_scope_column).uniq.all unique_scope_ids.each do |scope_id| scope_id = scope_id.send(self.drag_tree_scope_column) items = self.all_sorted(self.drag_tree_scope_column => scope_id).all repair_list(items) end end end |