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
- increment_position
- 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 116
116: def decrement_position
117: update_attribute position_column, self.send(position_column).to_i - 1
118: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 120
120: def first?
121: self.send(position_column) == 1
122: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 128
128: def higher_item
129: self.class.find_first(
130: "#{scope_condition} AND #{position_column} = #{(send(position_column).to_i - 1).to_s}"
131: )
132: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 112
112: def increment_position
113: update_attribute position_column, self.send(position_column).to_i + 1
114: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 124
124: def last?
125: self.send(position_column) == bottom_position_in_list
126: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 134
134: def lower_item
135: self.class.find_first(
136: "#{scope_condition} AND #{position_column} = #{(send(position_column).to_i + 1).to_s}"
137: )
138: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 84
84: def move_higher
85: return unless higher_item
86:
87: self.class.transaction do
88: higher_item.increment_position
89: decrement_position
90: end
91: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 75
75: def move_lower
76: return unless lower_item
77:
78: self.class.transaction do
79: lower_item.decrement_position
80: increment_position
81: end
82: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 93
93: def move_to_bottom
94: self.class.transaction do
95: decrement_positions_on_lower_items
96: assume_bottom_position
97: end
98: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 100
100: def move_to_top
101: self.class.transaction do
102: increment_positions_on_higher_items
103: assume_top_position
104: end
105: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/acts/list.rb, line 107
107: def remove_from_list
108: decrement_positions_on_lower_items
109: end