Sha256: 1e7db820ca841960984e45b002eaa79ec867d6c6d8c8d0980478321e00155fe2

Contents?: true

Size: 789 Bytes

Versions: 22

Compression:

Stored size: 789 Bytes

Contents

module PulseMeter
  module Sensor
    # Static indicator. In fact is is just a named variable with float value
    class Indicator < Base

      # Cleans up all sensor metadata in Redis
      def cleanup
        redis.del(value_key)
        super
      end

      # Sets indicator value
      # @param value [Float] new indicator value
      def event(value)
        redis.set(value_key, value.to_f)
      end

      # Get indicator value
      # @return [Fixnum] indicator value or zero unless it was initialized
      def value
        val = redis.get(value_key)
        val.nil? ? 0 : val.to_f
      end

      # Gets redis key by which counter value is stored
      # @return [String]
      def value_key
        @value_key ||= "pulse_meter:value:#{name}"
      end

    end
  end
end

Version data entries

22 entries across 22 versions & 2 rubygems

Version Path
pulse-meter-0.2.3 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.2.2 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.2.1 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.2.0 lib/pulse-meter/sensor/indicator.rb
pulse-meter-client-backport-0.1.4 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.1.11 lib/pulse-meter/sensor/indicator.rb
pulse-meter-client-backport-0.1.3 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.1.10 lib/pulse-meter/sensor/indicator.rb
pulse-meter-client-backport-0.1.2 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.1.9 lib/pulse-meter/sensor/indicator.rb
pulse-meter-client-backport-0.1.1 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.1.8 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.1.7 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.1.6 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.1.5 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.1.4 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.1.3 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.1.2 lib/pulse-meter/sensor/indicator.rb
pulse-meter-0.1.1 lib/pulse-meter/sensor/indicator.rb
pulse-meter-client-backport-0.1.0 lib/pulse-meter/sensor/indicator.rb