class Resilient::CircuitBreaker::Metrics::Storage::Memory

Attributes

source[R]

Public Class Methods

new() click to toggle source
# File lib/resilient/circuit_breaker/metrics/storage/memory.rb, line 8
def initialize
  @source = Hash.new { |h, k| h[k] = Hash.new(0) }
end

Public Instance Methods

increment(buckets, keys) click to toggle source
# File lib/resilient/circuit_breaker/metrics/storage/memory.rb, line 12
def increment(buckets, keys)
  Array(buckets).each do |bucket|
    Array(keys).each do |key|
      @source[bucket][key] += 1
    end
  end
end
prune(buckets, keys) click to toggle source
# File lib/resilient/circuit_breaker/metrics/storage/memory.rb, line 30
def prune(buckets, keys)
  Array(buckets).each do |bucket|
    @source.delete(bucket)
  end
end
sum(buckets, keys) click to toggle source
# File lib/resilient/circuit_breaker/metrics/storage/memory.rb, line 20
def sum(buckets, keys)
  response = Hash.new(0)
  Array(buckets).each do |bucket|
    Array(keys).each do |key|
      response[key] += @source[bucket][key]
    end
  end
  response
end