This plugin implements a simple database-independent locking mechanism to ensure that concurrent updates do not override changes. This is best implemented by a code example:
class Person < Sequel::Model plugin :optimistic_locking end p1 = Person[1] p2 = Person[1] p1.update(:name=>'Jim') # works p2.update(:name=>'Bob') # raises Sequel::Plugins::OptimisticLocking::Error
In order for this plugin to work, you need to make sure that the database table has a lock_version column (or other column you name via the lock_column class level accessor) that defaults to 0.
This plugin relies on the instance_filters plugin.
Exception class raised when trying to update or destroy a stale object.
Generated with the Darkfish Rdoc Generator 2.