Class: Resilient::CircuitBreaker::Metrics::Storage::Memory
- Inherits:
-
Object
- Object
- Resilient::CircuitBreaker::Metrics::Storage::Memory
- Defined in:
- lib/resilient/circuit_breaker/metrics/storage/memory.rb
Instance Attribute Summary collapse
-
#source ⇒ Object
readonly
Returns the value of attribute source.
Instance Method Summary collapse
- #increment(buckets, keys) ⇒ Object
-
#initialize ⇒ Memory
constructor
A new instance of Memory.
- #prune(buckets, keys) ⇒ Object
- #sum(buckets, keys) ⇒ Object
Constructor Details
#initialize ⇒ Memory
8 9 10 |
# File 'lib/resilient/circuit_breaker/metrics/storage/memory.rb', line 8 def initialize @source = Hash.new { |h, k| h[k] = Hash.new(0) } end |
Instance Attribute Details
#source ⇒ Object (readonly)
Returns the value of attribute source.
6 7 8 |
# File 'lib/resilient/circuit_breaker/metrics/storage/memory.rb', line 6 def source @source end |
Instance Method Details
#increment(buckets, keys) ⇒ Object
12 13 14 15 16 17 18 |
# 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) ⇒ Object
30 31 32 33 34 |
# 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) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# 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 |