All the methods available to a record that has had acts_as_list specified. Each method works by assuming the object to be the item in the list, so chapter.move_lower would move that chapter lower in the list of all chapters. Likewise, chapter.first? would return true if that chapter is the first in the list of all chapters.
Methods
- decrement_position
- first?
- higher_item
- in_list?
- increment_position
- insert_at
- last?
- lower_item
- move_higher
- move_lower
- move_to_bottom
- move_to_top
- remove_from_list
Public Instance methods
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 126 126: def decrement_position 127: return unless in_list? 128: update_attribute position_column, self.send(position_column).to_i - 1 129: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 131 131: def first? 132: return false unless in_list? 133: self.send(position_column) == 1 134: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 141 141: def higher_item 142: return nil unless in_list? 143: acts_as_list_class.find(:first, :conditions => 144: "#{scope_condition} AND #{position_column} = #{(send(position_column).to_i - 1).to_s}" 145: ) 146: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 155 155: def in_list? 156: !send(position_column).nil? 157: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 121 121: def increment_position 122: return unless in_list? 123: update_attribute position_column, self.send(position_column).to_i + 1 124: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 79 79: def insert_at(position = 1) 80: insert_at_position(position) 81: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 136 136: def last? 137: return false unless in_list? 138: self.send(position_column) == bottom_position_in_list 139: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 148 148: def lower_item 149: return nil unless in_list? 150: acts_as_list_class.find(:first, :conditions => 151: "#{scope_condition} AND #{position_column} = #{(send(position_column).to_i + 1).to_s}" 152: ) 153: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 92 92: def move_higher 93: return unless higher_item 94: 95: acts_as_list_class.transaction do 96: higher_item.increment_position 97: decrement_position 98: end 99: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 83 83: def move_lower 84: return unless lower_item 85: 86: acts_as_list_class.transaction do 87: lower_item.decrement_position 88: increment_position 89: end 90: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 101 101: def move_to_bottom 102: return unless in_list? 103: acts_as_list_class.transaction do 104: decrement_positions_on_lower_items 105: assume_bottom_position 106: end 107: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 109 109: def move_to_top 110: return unless in_list? 111: acts_as_list_class.transaction do 112: increment_positions_on_higher_items 113: assume_top_position 114: end 115: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 117 117: def remove_from_list 118: decrement_positions_on_lower_items if in_list? 119: end