Skip to content

Commit

Permalink
Handle unranked items in rearrange
Browse files Browse the repository at this point in the history
  • Loading branch information
mixonic committed Aug 22, 2011
1 parent 8a70b39 commit d29a017
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions lib/ranked-model/ranker.rb
Expand Up @@ -137,17 +137,17 @@ def assure_unique_position
end

def rearrange_ranks
if current_first.rank > RankedModel::MIN_RANK_VALUE && rank == RankedModel::MAX_RANK_VALUE
if current_first.rank && current_first.rank > RankedModel::MIN_RANK_VALUE && rank == RankedModel::MAX_RANK_VALUE
instance.class.
where( instance.class.arel_table[:id].not_eq(instance.id) ).
where( instance.class.arel_table[ranker.column].lteq(rank) ).
update_all( "#{ranker.column} = #{ranker.column} - 1" )
elsif current_last.rank < (RankedModel::MAX_RANK_VALUE - 1) && rank < current_last.rank
elsif current_last.rank && current_last.rank < (RankedModel::MAX_RANK_VALUE - 1) && rank < current_last.rank
instance.class.
where( instance.class.arel_table[:id].not_eq(instance.id) ).
where( instance.class.arel_table[ranker.column].gteq(rank) ).
update_all( "#{ranker.column} = #{ranker.column} + 1" )
elsif current_first.rank > RankedModel::MIN_RANK_VALUE && rank > current_first.rank
elsif current_first.rank && current_first.rank > RankedModel::MIN_RANK_VALUE && rank > current_first.rank
instance.class.
where( instance.class.arel_table[:id].not_eq(instance.id) ).
where( instance.class.arel_table[ranker.column].lt(rank) ).
Expand Down

0 comments on commit d29a017

Please sign in to comment.