Class: ConvenientService::Support::ThreadSafeCounter Private

Inherits:
Counter
  • Object
show all
Defined in:
lib/convenient_service/support/thread_safe_counter.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Since:

  • 1.0.0

Instance Attribute Summary

Attributes inherited from Counter

#current_value, #initial_value, #max_value, #min_value

Instance Method Summary collapse

Constructor Details

#initializevoid

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Since:

  • 1.0.0



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

#bdecrementObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

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.

See Also:

Since:

  • 1.0.0



119
120
121
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 119

def bdecrement(...)
  @lock.synchronize { super }
end

#bincrementObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

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.

See Also:

Since:

  • 1.0.0



77
78
79
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 77

def bincrement(...)
  @lock.synchronize { super }
end

#current_value=Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

See Also:

Since:

  • 1.0.0



35
36
37
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 35

def current_value=(...)
  @lock.synchronize { super }
end

#decrementObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

See Also:

Since:

  • 1.0.0



90
91
92
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 90

def decrement(...)
  @lock.synchronize { super }
end

#decrement!Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

See Also:

Since:

  • 1.0.0



103
104
105
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 103

def decrement!(...)
  @lock.synchronize { super }
end

#incrementObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

See Also:

Since:

  • 1.0.0



48
49
50
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 48

def increment(...)
  @lock.synchronize { super }
end

#increment!Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

See Also:

Since:

  • 1.0.0



61
62
63
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 61

def increment!(...)
  @lock.synchronize { super }
end

#resetObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

See Also:

Since:

  • 1.0.0



129
130
131
# File 'lib/convenient_service/support/thread_safe_counter.rb', line 129

def reset(...)
  @lock.synchronize { super }
end