class Supervision::Counter

A class responsible for measuring increments/decrements of value

Public Class Methods

new() click to toggle source

Create a Counter

@api public

# File lib/supervision/counter.rb, line 9
def initialize
  @count = Atomic.new(0)
end

Public Instance Methods

clear() click to toggle source

Reset the counter

@return [nil]

@api public

# File lib/supervision/counter.rb, line 18
def clear
  @count.set(0)
end
decrement(decr = 1) click to toggle source

Decrement counter

@param []

@return [nil]

@api public

# File lib/supervision/counter.rb, line 38
def decrement(decr = 1)
  @count.update { |v| v + decr }
end
increment(incr = 1) click to toggle source

Increment counter

@return [nil]

@api public

# File lib/supervision/counter.rb, line 27
def increment(incr = 1)
  @count.update { |v| v + incr }
end
value() click to toggle source

Return the value

@api public

# File lib/supervision/counter.rb, line 45
def value
  @count.value
end