Sha256: 9ab2f246e4f27ff0d732a6f8ea6894ad2f3f5774983a3d9499faf6eb033c2c90

Contents?: true

Size: 701 Bytes

Versions: 3

Compression:

Stored size: 701 Bytes

Contents

# frozen_string_literal: true

# Released under the MIT License.
# Copyright, 2022-2023, by Samuel Williams.

module Covered
	module Sus
		def initialize(...)
			super
			
			# Defer loading the coverage configuration unless we are actually running with coverage startd to avoid performance cost/overhead.
			if ENV['COVERAGE']
				require_relative 'config'
				
				@covered = Covered::Config.load(root: self.root)
				if @covered.record?
					@covered.start
				end
			else
				@covered = nil
			end
		end
		
		def after_tests(assertions)
			super(assertions)
			
			if @covered&.record?
				@covered.finish
				@covered.call(self.output.io)
			end
		end
		
		def covered
			@covered
		end
	end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
covered-0.20.2 lib/covered/sus.rb
covered-0.20.1 lib/covered/sus.rb
covered-0.20.0 lib/covered/sus.rb