Module: Gluttonberg::DragTree::ActiveRecord::ModelHelpersClassMethods::ClassMethods

Defined in:
lib/gluttonberg/drag_tree/active_record.rb

Instance Method Summary collapse

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_treeObject



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_treeObject



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_treeObject



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_treeObject



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