class CircleCI::CoverageReporter::Reporters::Link

Constants

LinkReport

@attr name [String] @attr url [String] @attr base_url [String, nil] @attr previous_url [String, nil]

Attributes

name[R]

@note Override {Base#name}

path[R]

Public Class Methods

new(path:, name:) click to toggle source

@param path [String] @param name [String]

# File lib/circleci/coverage_reporter/reporters/link.rb, line 24
def initialize(path:, name:)
  @path = path
  @name = name
end

Public Instance Methods

active?() click to toggle source

@note Implementation for {Base#active?}

# File lib/circleci/coverage_reporter/reporters/link.rb, line 30
def active?
  File.file?(File.join(configuration.artifacts_dir, path))
end
report(base_build, previous_build) click to toggle source

@param base_build [Build, nil] @param previous_build [Build, nil] @return [LinkReport]

# File lib/circleci/coverage_reporter/reporters/link.rb, line 40
def report(base_build, previous_build)
  LinkReport.new(name, url, extract_artifact_url(base_build), extract_artifact_url(previous_build))
end

Private Instance Methods

configuration() click to toggle source
# File lib/circleci/coverage_reporter/reporters/link.rb, line 60
def configuration
  CoverageReporter.configuration
end
extract_artifact_url(build) click to toggle source

@param build [Build, nil] @return [String, nil]

# File lib/circleci/coverage_reporter/reporters/link.rb, line 66
def extract_artifact_url(build)
  return unless build
  artifact = build.find_artifact(path)
  artifact ? artifact.url : nil
end
url() click to toggle source

@return [String]

# File lib/circleci/coverage_reporter/reporters/link.rb, line 49
def url
  [
    'https://circle-artifacts.com/gh',
    configuration.project,
    configuration.current_build_number,
    'artifacts',
    "0#{configuration.artifacts_dir}",
    path
  ].join('/')
end