Sha256: 686bdc3cc4b24081a685b091c1c70d8408458aeba91f2101b9c59ab6cb46d942

Contents?: true

Size: 684 Bytes

Versions: 7

Compression:

Stored size: 684 Bytes

Contents

require 'json'

module PulseMeter
  module Sensor
    module Timelined
      # Saves last registered values for multiple flags per interval.
      # Good replacement for multiple indicators to be visualized together
      class HashedIndicator < Timeline
        def aggregate_event(key, data)
          data.each_pair do |k, v|
            redis.hset(key, k, v) if v.respond_to?(:to_f)
          end
        end

        def summarize(key)
          redis.
            hgetall(key).
            inject({}) {|h, (k, v)| h[k] = v.to_f; h}.
            to_json
        end

        private

        def deflate(value)
          JSON.parse(value)
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pulse-meter-0.3.1 lib/pulse-meter/sensor/timelined/hashed_indicator.rb
pulse-meter-0.3.0 lib/pulse-meter/sensor/timelined/hashed_indicator.rb
pulse-meter-0.2.11 lib/pulse-meter/sensor/timelined/hashed_indicator.rb
pulse-meter-0.2.10 lib/pulse-meter/sensor/timelined/hashed_indicator.rb
pulse-meter-0.2.9 lib/pulse-meter/sensor/timelined/hashed_indicator.rb
pulse-meter-0.2.8 lib/pulse-meter/sensor/timelined/hashed_indicator.rb
pulse-meter-0.2.7 lib/pulse-meter/sensor/timelined/hashed_indicator.rb