Class: CircleCI::CoverageReporter::AbstractReporter Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/circleci/coverage_reporter/abstract_reporter.rb

Overview

This class is abstract.

Subclass and override #name, #create_build_result and #create_current_result to implement a custom Reporter class.

Direct Known Subclasses

Flow::Reporter, SimpleCov::Reporter

Instance Method Summary collapse

Constructor Details

#initialize(path = self.class::DEFAULT_PATH) ⇒ AbstractReporter

Returns a new instance of AbstractReporter.

Parameters:

  • path (String) (defaults to: self.class::DEFAULT_PATH)

    relative path from artifacts dir to coverage directory



9
10
11
# File 'lib/circleci/coverage_reporter/abstract_reporter.rb', line 9

def initialize(path = self.class::DEFAULT_PATH)
  @path = path
end

Instance Method Details

#active?Boolean

Returns whether it is active.

Returns:

  • (Boolean)

    whether it is active



14
15
16
# File 'lib/circleci/coverage_reporter/abstract_reporter.rb', line 14

def active?
  File.directory?(File.join(CoverageReporter.configuration.artifacts_dir, path))
end

#nameString

Returns:

  • (String)

Raises:

  • (NotImplementedError)


31
32
33
# File 'lib/circleci/coverage_reporter/abstract_reporter.rb', line 31

def name
  raise NotImplementedError
end

#report(base_build, previous_build) ⇒ Report

Parameters:

  • base_build (Build, nil)
  • previous_build (Build, nil)

Returns:



21
22
23
24
25
26
27
28
# File 'lib/circleci/coverage_reporter/abstract_reporter.rb', line 21

def report(base_build, previous_build)
  Report.new(
    self,
    current: create_current_result,
    base: create_build_result(base_build),
    previous: create_build_result(previous_build)
  )
end