Module: Gluttonberg::DragTree::ActiveRecord::ModelHelpersClassMethods
- Defined in:
- lib/gluttonberg/drag_tree/active_record.rb
Overview
module ClassMethods
Class Method Summary collapse
Class Method Details
.included(klass) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/gluttonberg/drag_tree/active_record.rb', line 52 def self.included(klass) klass.class_eval do cattr_accessor :is_flat_drag_tree #@is_flat_drag_tree = false def klass.behaves_as_a_drag_tree true end def klass.make_flat_drag_tree self.is_flat_drag_tree = true end def klass.behaves_as_a_flat_drag_tree self.is_flat_drag_tree end def klass.repair_drag_tree if behaves_as_a_flat_drag_tree if [:scope].empty? repair_list else # this is wasteful as it does a repair on every item # which means for items of the same scope they keep # getting re-repaired. :-( items = all() items.each{ |item| item.repair_list} end end # todo: add support for non flat trees end def klass.all_sorted(query={}) all({:order => [:position.asc]}.merge(query)) end end # class_eval end |