Class: ConvenientService::Support::ThreadSafeCounter
- Inherits:
-
Counter
- Object
- Counter
- ConvenientService::Support::ThreadSafeCounter
show all
- Defined in:
- lib/convenient_service/support/thread_safe_counter.rb
Instance Attribute Summary
Attributes inherited from Counter
#current_value, #initial_value, #max_value, #min_value
Instance Method Summary
collapse
Constructor Details
#initialize ⇒ void
14
15
16
17
18
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 14
def initialize(...)
super
@lock = ::Mutex.new
end
|
Instance Method Details
#bdecrement ⇒ Object
‘bdecrement` means boolean decrement. Works exactly in the same way as `decrement` except returns a boolean value. If decremented successfully then returns `true`, otherwise - returns `false`.
113
114
115
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 113
def bdecrement(...)
@lock.synchronize { super }
end
|
#bincrement ⇒ Object
‘bincrement` means boolean increment. Works exactly in the same way as `increment` except returns a boolean value. If incremented successfully then returns `true`, otherwise - returns `false`.
71
72
73
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 71
def bincrement(...)
@lock.synchronize { super }
end
|
#current_value= ⇒ Object
29
30
31
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 29
def current_value=(...)
@lock.synchronize { super }
end
|
#decrement ⇒ Object
84
85
86
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 84
def decrement(...)
@lock.synchronize { super }
end
|
#decrement! ⇒ Object
97
98
99
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 97
def decrement!(...)
@lock.synchronize { super }
end
|
#increment ⇒ Object
42
43
44
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 42
def increment(...)
@lock.synchronize { super }
end
|
#increment! ⇒ Object
55
56
57
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 55
def increment!(...)
@lock.synchronize { super }
end
|
#reset ⇒ Object
123
124
125
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 123
def reset(...)
@lock.synchronize { super }
end
|