Module ActiveRecord::Acts::List::InstanceMethods
In: vendor/activerecord/lib/active_record/acts/list.rb

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

Public Instance methods

[Source]

     # File vendor/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

[Source]

     # File vendor/activerecord/lib/active_record/acts/list.rb, line 120
120:         def first?
121:           self.send(position_column) == 1
122:         end

[Source]

     # File vendor/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

[Source]

     # File vendor/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

[Source]

     # File vendor/activerecord/lib/active_record/acts/list.rb, line 124
124:         def last?
125:           self.send(position_column) == bottom_position_in_list
126:         end

[Source]

     # File vendor/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

[Source]

    # File vendor/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

[Source]

    # File vendor/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

[Source]

    # File vendor/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

[Source]

     # File vendor/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

[Source]

     # File vendor/activerecord/lib/active_record/acts/list.rb, line 107
107:         def remove_from_list
108:           decrement_positions_on_lower_items
109:         end

[Validate]