Module: ActsAsRankedList::ActiveRecord::AvoidCollisions::ClassMethods

Defined in:
lib/acts_as_ranked_list/active_record/avoid_collisions.rb

Class Method Summary collapse

Class Method Details

.with_avoid_collisions(avoid_collisions = true) { ... } ⇒ void

This method returns an undefined value.

Pass a block to this method to avoid collisions to an ::ActiveRecord model's table. You may pass a boolean argument to change the behaviour.

Examples:

with an ::ActiveRecord model of the name TodoItem:

TodoItem.with_avoid_collisions do
  TodoItem.find(4).update(rank: 200)
  TodoItem.find(5).update(rank: 200)
end

Parameters:

  • avoid_collisions (Array<Class>) (defaults to: true)

    argument to avoid or allow collisions

Yields:

  • the block to execute with changes to the instances

Since:

  • 0.2.0



25
26
27
28
29
# File 'lib/acts_as_ranked_list/active_record/avoid_collisions.rb', line 25

def with_avoid_collisions(avoid_collisions = true, &blk)
  AvoidCollisions.with_applied_klasses(self, avoid_collisions) do
    yield
  end
end