class Gladys::TimeSeries::Counter

def any?

def any?
  @values.values.any?(&:positive?)
end

def between(start:, finish:)

def between(start:, finish:)
  return @values.values if start.nil? || finish.nil?
  start = start.utc.to_i
  finish = finish.utc.to_i
  result = {}
  (start...finish).map do |time|
    result[time - start] = 0
  end
  @values.each do |key, value|
    result[key - start] += value if result[key - start]
  end
  result
end

def current

Get the current value for the current time in the time series.
def current
  @values[hash_key] || 0
end

def hash_key

def hash_key
  Time.now.utc.to_i
end

def increment

def increment
  key = hash_key
  @values[key] ||= 0
  @values[key] += 1
end

def initialize

def initialize
  @values = Concurrent::Hash.new
end