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
[ show source ]
# 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
[ show source ]
# 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