123456789_123456789_123456789_123456789_123456789_

Module: SimpleCov::UselessResultsRemover

Relationships & Source Files
Defined in: lib/simplecov/useless_results_remover.rb

Overview

Drop coverage entries whose paths live outside SimpleCov.root so the report only reflects the project's own source. Vendored gems, stdlib files, and anything else that happens to have been touched during the run never make it into the formatted result.

Class Method Summary

Class Method Details

.call(coverage_result)

[ GitHub ]

  
# File 'lib/simplecov/useless_results_remover.rb', line 9

def self.call(coverage_result)
  coverage_result.select { |path, _coverage| path.match?(root_regex) }
end

.root_regex

The /i flag covers case-insensitive matches on Windows / macOS-HFS+ where the on-disk path's case can differ from SimpleCov.root's.

[ GitHub ]

  
# File 'lib/simplecov/useless_results_remover.rb', line 15

def self.root_regex
  root = SimpleCov.root
  return @root_regex if root == @root_regex_root

  @root_regex_root = root
  @root_regex = /\A#{Regexp.escape(root.chomp(File::SEPARATOR) + File::SEPARATOR)}/i
end

.root_regx

[ GitHub ]

  
# File 'lib/simplecov/useless_results_remover.rb', line 23

def self.root_regx
  root_regex
end