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