Sha256: 0c9bb34eb2ec77738a8eb9a232a3489e4e369abfea5673752246c59c7039b5a7

Contents?: true

Size: 758 Bytes

Versions: 1

Compression:

Stored size: 758 Bytes

Contents

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

    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
      }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
harness-0.6.0 lib/harness/measurement.rb