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
20
21
22
23
24
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 20
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
.
119
120
121
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 119
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
.
77
78
79
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 77
def bincrement(...)
@lock.synchronize { super }
end
|
#current_value= ⇒ Object
35
36
37
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 35
def current_value=(...)
@lock.synchronize { super }
end
|
#decrement ⇒ Object
90
91
92
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 90
def decrement(...)
@lock.synchronize { super }
end
|
#decrement! ⇒ Object
103
104
105
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 103
def decrement!(...)
@lock.synchronize { super }
end
|
#increment ⇒ Object
48
49
50
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 48
def increment(...)
@lock.synchronize { super }
end
|
#increment! ⇒ Object
61
62
63
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 61
def increment!(...)
@lock.synchronize { super }
end
|
#reset ⇒ Object
129
130
131
|
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 129
def reset(...)
@lock.synchronize { super }
end
|