class SimpleCov::ExitCodes::MinimumOverallCoverageCheck
Attributes
minimum_coverage[R]
result[R]
Public Class Methods
new(result, minimum_coverage)
click to toggle source
# File lib/simplecov/exit_codes/minimum_overall_coverage_check.rb, line 5 def initialize(result, minimum_coverage) @result = result @minimum_coverage = minimum_coverage end
Public Instance Methods
exit_code()
click to toggle source
# File lib/simplecov/exit_codes/minimum_overall_coverage_check.rb, line 25 def exit_code SimpleCov::ExitCodes::MINIMUM_COVERAGE end
failing?()
click to toggle source
# File lib/simplecov/exit_codes/minimum_overall_coverage_check.rb, line 10 def failing? minimum_violations.any? end
report()
click to toggle source
# File lib/simplecov/exit_codes/minimum_overall_coverage_check.rb, line 14 def report minimum_violations.each do |violation| $stderr.printf( "%<criterion>s coverage (%<covered>.2f%%) is below the expected minimum coverage (%<minimum_coverage>.2f%%).\n", covered: SimpleCov.round_coverage(violation.fetch(:actual)), minimum_coverage: violation.fetch(:minimum_expected), criterion: violation.fetch(:criterion).capitalize ) end end
Private Instance Methods
calculate_minimum_violations()
click to toggle source
# File lib/simplecov/exit_codes/minimum_overall_coverage_check.rb, line 37 def calculate_minimum_violations coverage_achieved = minimum_coverage.map do |criterion, percent| { criterion: criterion, minimum_expected: percent, actual: result.coverage_statistics.fetch(criterion).percent } end coverage_achieved.select do |achieved| achieved.fetch(:actual) < achieved.fetch(:minimum_expected) end end
minimum_violations()
click to toggle source
# File lib/simplecov/exit_codes/minimum_overall_coverage_check.rb, line 33 def minimum_violations @minimum_violations ||= calculate_minimum_violations end