class BenchmarkSpec::ReportPresenter

Attributes

benchmark[RW]
formatter[RW]
nested_reports[RW]
round_to[RW]

Public Class Methods

calculate_num_of_examples_run(benchmark) click to toggle source
# File lib/benchmark_spec/report_presenter.rb, line 55
def self.calculate_num_of_examples_run(benchmark)
  return benchmark.reports.count if benchmark.nested_specs.empty?

  num_of_examples_run = benchmark.reports.count
  benchmark.nested_specs.each do |ns|
    num_of_examples_run += calculate_num_of_examples_run(ns)
  end

  num_of_examples_run
end
calculate_total_time(benchmark) click to toggle source
# File lib/benchmark_spec/report_presenter.rb, line 66
def self.calculate_total_time(benchmark)
  if benchmark.nested_specs.empty?
    return benchmark.reports.map(&:total).reduce(:+) || 0
  end

  total_time = benchmark.reports.map(&:total).reduce(:+) || 0
  benchmark.nested_specs.each do |ns|
    total_time += calculate_total_time(ns)
  end

  total_time
end
new(benchmark, opts = {}, formatter: nil) click to toggle source
# File lib/benchmark_spec/report_presenter.rb, line 5
def initialize(benchmark, opts = {}, formatter: nil)
  @benchmark = benchmark
  @formatter = formatter || BenchmarkSpec::OutputFormatter.new

  @round_to = opts[:round_to] || 3

  @nested_reports = []
  @benchmark.nested_specs.map do |ns|
    child_formatter = BenchmarkSpec::OutputFormatter.new(indent_level: @formatter.indent_level + 1)
    @nested_reports << ReportPresenter.new(ns, formatter: child_formatter)
  end
end
print_results(benchmarks) click to toggle source
print_summary(benchmarks) click to toggle source

Public Instance Methods

print() click to toggle source