class LogfileInterval::Util::Counter

Public Instance Methods

[](key) click to toggle source
# File lib/logfile_interval/util/counter.rb, line 35
def [](key)
  self.fetch(key, 0)
end
add(key, num) click to toggle source
# File lib/logfile_interval/util/counter.rb, line 23
def add(key, num)
  if self.has_key?(key)
    self[key] += num
  else
    self[key] = num
  end
end
increment(key) click to toggle source
# File lib/logfile_interval/util/counter.rb, line 4
def increment(key)
  if self.has_key?(key)
    self[key] += 1
  else
    self[key] = 1
  end
end
increment_subkey(key, subkey) click to toggle source
# File lib/logfile_interval/util/counter.rb, line 12
def increment_subkey(key, subkey)
  if self.has_key?(key) && !self[key].is_a?(Counter)
    raise "Value for #{key} is not a Counter"
  end

  unless self.has_key?(key)
    self[key] = Counter.new
  end
  self[key].increment(subkey)
end
merge(c) click to toggle source
# File lib/logfile_interval/util/counter.rb, line 39
def merge(c)
  c.keys.each do |k|
    self.add c[k]
  end
end
set(key, num) click to toggle source
# File lib/logfile_interval/util/counter.rb, line 31
def set(key, num)
  self[key] = num
end