Class: Cabin::Metrics::Counter

Inherits:
Object
  • Object
show all
Defined in:
lib/cabin/metrics/counter.rb

Instance Method Summary collapse

Constructor Details

#initializeCounter

Returns a new instance of Counter.



9
10
11
12
# File 'lib/cabin/metrics/counter.rb', line 9

def initialize
  @value = 0
  @lock = Mutex.new
end

Instance Method Details

#decrObject

decrement this counter



20
21
22
# File 'lib/cabin/metrics/counter.rb', line 20

def decr
  @lock.synchronize { @value -= 1 }
end

#incrObject

increment this counter



15
16
17
# File 'lib/cabin/metrics/counter.rb', line 15

def incr
  @lock.synchronize { @value += 1 }
end

#valueObject



26
27
28
# File 'lib/cabin/metrics/counter.rb', line 26

def value
  return @lock.synchronize { @value }
end