Class: OpenapiFirst::Test::Coverage::HtmlReporter

Inherits:
Object
  • Object
show all
Defined in:
lib/openapi_first/test/coverage/html_reporter.rb,
lib/openapi_first/test/coverage/html_reporter/context.rb

Overview

Writes a self-contained HTML coverage report to a file.

Defined Under Namespace

Classes: Context

Constant Summary collapse

TEMPLATE_PATH =
File.join(__dir__, 'html_reporter.html.erb')
TEMPLATE =
ERB.new(File.read(TEMPLATE_PATH), trim_mode: '-')

Instance Method Summary collapse

Constructor Details

#initialize(output: 'coverage/openapi_coverage.html', verbose: false, logger: Test.logger) ⇒ HtmlReporter

Returns a new instance of HtmlReporter.



11
12
13
14
15
# File 'lib/openapi_first/test/coverage/html_reporter.rb', line 11

def initialize(output: 'coverage/openapi_coverage.html', verbose: false, logger: Test.logger)
  @output = output
  @verbose = verbose
  @logger = logger
end

Instance Method Details

#report(coverage_result) ⇒ Object



17
18
19
20
21
22
# File 'lib/openapi_first/test/coverage/html_reporter.rb', line 17

def report(coverage_result)
  html = TEMPLATE.result(Context.new(coverage_result, @verbose).get_binding)
  FileUtils.mkdir_p(File.dirname(@output))
  File.write(@output, html)
  @logger.info "API coverage report written to #{@output}"
end