Sha256: e450c37ca29c901df7720b6c2c530022df1ddc267965f1093fdae13ba46029ec
Contents?: true
Size: 703 Bytes
Versions: 4
Compression:
Stored size: 703 Bytes
Contents
# frozen_string_literal: true require 'ddmetrics' class Cache attr_reader :counter def initialize @map = {} @counter = DDMetrics::Counter.new end def []=(key, value) @counter.increment(type: :set) @map[key] = value end def [](key) if @map.key?(key) @counter.increment(type: :get_hit) else @counter.increment(type: :get_miss) end @map[key] end end cache = Cache.new cache['greeting'] cache['greeting'] cache['greeting'] = 'Hi there!' cache['greeting'] cache['greeting'] cache['greeting'] p cache.counter.get(type: :set) # => 1 p cache.counter.get(type: :get_hit) # => 3 p cache.counter.get(type: :get_miss) # => 2 puts cache.counter
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
ddmetrics-1.1.0 | samples/cache.rb |
ddmetrics-1.0.1 | samples/cache.rb |
ddmetrics-1.0.0 | samples/cache.rb |
ddmetrics-1.0.0rc1 | samples/cache.rb |