Sha256: 0fac9fea99a8d2d3d14c2d298615fd1f51e0f9d62bef1c4afdae8b3b6a411c48

Contents?: true

Size: 794 Bytes

Versions: 5

Compression:

Stored size: 794 Bytes

Contents

module Harness
  class Measurement
    attr_accessor :id, :name, :source, :time, :value, :units, :period

    def initialize(attributes = {})
      attributes.each_pair do |name, value|
        send "#{name}=", value
      end

      self.time ||= Time.now
    end

    def time=(value)
      if value.is_a? String
        @time = DateTime.parse value
      elsif value.is_a? Fixnum
        @time = Time.at value
      else
        @time = value
      end
    end

    def log
      Harness.log self
    end

    def source
      @source || Harness.config.source
    end

    def attributes
      { 
        :id => id,
        :name => name,
        :source => source,
        :time => time,
        :units => units,
        :value => value,
        :period => period
      }
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
harness-0.9.1 lib/harness/measurement.rb
harness-0.9.0 lib/harness/measurement.rb
harness-0.8.1 lib/harness/measurement.rb
harness-0.8.0 lib/harness/measurement.rb
harness-0.7.0 lib/harness/measurement.rb