Sha256: 4861913ba4e62fec42df3893cd0064eab0afd50e88efbc6e2fb2d67e8364199c
Contents?: true
Size: 1.55 KB
Versions: 5
Compression:
Stored size: 1.55 KB
Contents
module MetricFu # MetricFu.result memoizes access to a Result object, that will be # used throughout the lifecycle of the MetricFu app. def self.result @result ||= Result.new end # = Result # # The Result class is responsible for one thing: # # It tracks the results generated by each metric used in this test run. class Result # 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 def as_yaml result_hash.to_yaml end def per_file_data @per_file_data ||= {} end def result_hash #:nodoc: @result_hash ||= {} end # 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 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 private def metric_options_for_result_type(result_type) MetricFu::Metric.get_metric(result_type).run_options end end end
Version data entries
5 entries across 5 versions & 1 rubygems