Include this module into models to provide optimistic locking suport. For more information on optimistic locking please consult:

c2.com/cgi/wiki?OptimisticLocking en.wikipedia.org/wiki/Optimistic_concurrency_control

Methods
Attributes
[RW] default
[RW] lock_version
Public Instance methods
save_with_lock()
    # File lib/og/model/optimistic_locking.rb, line 42
42:   def save_with_lock
43:     lock = @lock_version
44:     @lock_version += 1
45: 
46:     unless save_without_lock(:condition => "lock_version=#{lock}") == 1  
47:       raise(StaleObjectError, 'Attempted to update a stale object')
48:     end
49:   end
update_with_lock()
    # File lib/og/model/optimistic_locking.rb, line 33
33:   def update_with_lock
34:     lock = @lock_version
35:     @lock_version += 1
36: 
37:     unless update_without_lock(:condition => "lock_version=#{lock}") == 1  
38:       raise(StaleObjectError, 'Attempted to update a stale object')
39:     end
40:   end