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