class MetricFu::Result

Result

The Result class is responsible for one thing:

It tracks the results generated by each metric used in this test run.

Public Instance Methods

add(result_type) click to toggle source

Adds a hash from a passed result, produced by one of the Generator classes to the aggregate result_hash managed by this hash.

@param result_type Hash

The hash to add to the aggregate result_hash
# File lib/metric_fu/reporting/result.rb, line 41
def add(result_type)
  mf_debug "result requested #{result_type}"
  metric_options = metric_options_for_result_type(result_type)
  generator_class =  MetricFu::Generator.get_generator(result_type)
  mf_debug "result class found #{generator_class}"
  generator = generator_class.new(metric_options)

  result_hash.merge!(generator.generate_result)

  generator.per_file_info(per_file_data) if generator.respond_to?(:per_file_info)
end
as_yaml() click to toggle source

Renders the result of the result_hash into a yaml serialization ready for writing out to a file.

@return YAML

A YAML object containing the results of the result generation
process
# File lib/metric_fu/reporting/result.rb, line 20
def as_yaml
  result_hash.to_yaml
end
per_file_data() click to toggle source
# File lib/metric_fu/reporting/result.rb, line 24
def per_file_data
  @per_file_data ||= Hash.new do |hash, filename|
    hash[filename] = Hash.new do |h, line|
      h[line] = Array.new
    end
  end
end

Private Instance Methods

metric_options_for_result_type(result_type) click to toggle source
# File lib/metric_fu/reporting/result.rb, line 55
def metric_options_for_result_type(result_type)
  MetricFu::Metric.get_metric(result_type).run_options
end