class RSpec::Coverage::Runner
Public Class Methods
new(map, coverage: ::Coverage.method(:peek_result))
click to toggle source
# File lib/rspec/coverage/runner.rb, line 3 def initialize map, coverage: ::Coverage.method(:peek_result) @map, @coverage = map, coverage @exclusions = Excludes.new map.root end
Public Instance Methods
call(ex)
click to toggle source
# File lib/rspec/coverage/runner.rb, line 8 def call ex if klasses = ex.metadata[:covers] run_filtered klasses, ex elsif klass = ex.metadata[:described_class] run_filtered [klass], ex else ex.call end end
result()
click to toggle source
# File lib/rspec/coverage/runner.rb, line 18 def result @exclusions.deduct(@coverage.call).to_h end
Private Instance Methods
run_filtered(klasses, example)
click to toggle source
# File lib/rspec/coverage/runner.rb, line 24 def run_filtered klasses, example before = @coverage.call example.call @exclusions.record \ before: before, after: @coverage.call, mask: @map.mask(*klasses) end