Class: SimpleCov::ExitCodes::MinimumCoverageByGroupCheck

Inherits:
Object
  • Object
show all
Defined in:
lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb

Overview

Fails when any configured group falls below its minimum coverage threshold for any criterion.

Instance Method Summary collapse

Constructor Details

#initialize(result, minimum_coverage_by_group) ⇒ MinimumCoverageByGroupCheck

Returns a new instance of MinimumCoverageByGroupCheck.



8
9
10
11
# File 'lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb', line 8

def initialize(result, minimum_coverage_by_group)
  @result = result
  @minimum_coverage_by_group = minimum_coverage_by_group
end

Instance Method Details

#exit_codeObject



30
31
32
# File 'lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb', line 30

def exit_code
  SimpleCov::ExitCodes::MINIMUM_COVERAGE
end

#failing?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb', line 13

def failing?
  violations.any?
end

#reportObject



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb', line 17

def report
  violations.each do |violation|
    warn format(
      "%<criterion>s coverage by group (%<actual>s) is below the expected minimum coverage " \
      "(%<expected>.2f%%) in %<group_name>s.",
      criterion: violation.fetch(:criterion).capitalize,
      actual: SimpleCov::Color.colorize_percent(violation.fetch(:actual)),
      expected: violation.fetch(:expected),
      group_name: violation.fetch(:group_name)
    )
  end
end