Class: DeepTest::Metrics::Data

Inherits:
Object
  • Object
show all
Defined in:
lib/deep_test/metrics/data.rb

Instance Method Summary collapse

Constructor Details

#initializeData

Returns a new instance of Data.



4
5
6
# File 'lib/deep_test/metrics/data.rb', line 4

def initialize
  @measurements_by_category = {}
end

Instance Method Details

#add(measurement) ⇒ Object



8
9
10
11
# File 'lib/deep_test/metrics/data.rb', line 8

def add(measurement)
  categories = @measurements_by_category[measurement.category] ||= []
  categories << measurement
end

#save(file) ⇒ Object



27
28
29
30
31
# File 'lib/deep_test/metrics/data.rb', line 27

def save(file)
  File.open(file, "w") do |f|
    f << summary
  end
end

#summaryObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/deep_test/metrics/data.rb', line 13

def summary
  summary = []
  summary << "Metrics Data\n"
  summary << "------------\n"

  @measurements_by_category.keys.sort.map do |category|
    measurements = @measurements_by_category[category]
    units = measurements.first.units
    summary << "#{category}: #{Measurement.average(measurements)} avg / #{Measurement.total(measurements)} total #{units}\n"
  end

  summary.join
end