Sha256: 4ef9bcf55cdc4df65623ca0ac47fb219b6918f4d97e84ebf7ce85cb860489959
Contents?: true
Size: 937 Bytes
Versions: 1
Compression:
Stored size: 937 Bytes
Contents
# frozen_string_literal: true require_relative '../mixins/packer' module Trifle module Stats module Driver class Process include Mixins::Packer def initialize @data = {} @separator = '::' end def inc(key:, **values) self.class.pack(hash: values).each do |k, c| d = @data.fetch(key.join(@separator), {}) d[k] = d[k].to_i + c @data[key.join(@separator)] = d end end def set(key:, **values) self.class.pack(hash: values).each do |k, c| d = @data.fetch(key.join(@separator), {}) d[k] = c @data[key.join(@separator)] = d end end def get(keys:) keys.map do |key| self.class.unpack( hash: @data.fetch(key.join(@separator), {}) ) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
trifle-stats-1.0.0 | lib/trifle/stats/driver/process.rb |