Module: ActiveRecord::Acts::List::InstanceMethods
- Defined in:
- lib/active_record/acts/list.rb
Overview
All the methods available to a record that has had acts_as_list specified.
Instance Method Summary collapse
- #decrement_position ⇒ Object
- #first? ⇒ Boolean
- #higher_item ⇒ Object
- #increment_position ⇒ Object
- #last? ⇒ Boolean
- #lower_item ⇒ Object
- #move_higher ⇒ Object
- #move_lower ⇒ Object
- #move_to_bottom ⇒ Object
- #move_to_top ⇒ Object
- #remove_from_list ⇒ Object
Instance Method Details
#decrement_position ⇒ Object
112 113 114 |
# File 'lib/active_record/acts/list.rb', line 112 def decrement_position update_attribute position_column, self.send(position_column).to_i - 1 end |
#first? ⇒ Boolean
117 118 119 |
# File 'lib/active_record/acts/list.rb', line 117 def first? self.send(position_column) == 1 end |
#higher_item ⇒ Object
125 126 127 128 129 |
# File 'lib/active_record/acts/list.rb', line 125 def higher_item self.class.find_first( "#{scope_condition} AND #{position_column} = #{(send(position_column).to_i - 1).to_s}" ) end |
#increment_position ⇒ Object
108 109 110 |
# File 'lib/active_record/acts/list.rb', line 108 def increment_position update_attribute position_column, self.send(position_column).to_i + 1 end |
#last? ⇒ Boolean
121 122 123 |
# File 'lib/active_record/acts/list.rb', line 121 def last? self.send(position_column) == bottom_position_in_list end |
#lower_item ⇒ Object
131 132 133 134 135 |
# File 'lib/active_record/acts/list.rb', line 131 def lower_item self.class.find_first( "#{scope_condition} AND #{position_column} = #{(send(position_column).to_i + 1).to_s}" ) end |
#move_higher ⇒ Object
79 80 81 82 83 84 85 86 |
# File 'lib/active_record/acts/list.rb', line 79 def move_higher return unless higher_item self.class.transaction do higher_item.increment_position decrement_position end end |
#move_lower ⇒ Object
70 71 72 73 74 75 76 77 |
# File 'lib/active_record/acts/list.rb', line 70 def move_lower return unless lower_item self.class.transaction do lower_item.decrement_position increment_position end end |
#move_to_bottom ⇒ Object
88 89 90 91 92 93 |
# File 'lib/active_record/acts/list.rb', line 88 def move_to_bottom self.class.transaction do decrement_positions_on_lower_items assume_bottom_position end end |
#move_to_top ⇒ Object
95 96 97 98 99 100 |
# File 'lib/active_record/acts/list.rb', line 95 def move_to_top self.class.transaction do increment_positions_on_higher_items assume_top_position end end |
#remove_from_list ⇒ Object
103 104 105 |
# File 'lib/active_record/acts/list.rb', line 103 def remove_from_list decrement_positions_on_lower_items end |