Class: StudFinder::Coverage::Detector

Inherits:
Object
  • Object
show all
Defined in:
lib/stud_finder/coverage/detector.rb

Defined Under Namespace

Classes: Error

Constant Summary collapse

PARSERS =
{
  '.xml' => Cobertura,
  '.info' => Lcov,
  '.json' => Resultset
}.freeze

Class Method Summary collapse

Class Method Details

.for(path:, files:, project_root: nil) ⇒ Object

Raises:



18
19
20
21
22
23
# File 'lib/stud_finder/coverage/detector.rb', line 18

def self.for(path:, files:, project_root: nil)
  parser = PARSERS[File.extname(path).downcase]
  raise Error, "Error: unsupported coverage file type: #{path}" if parser.nil?

  parser.new(path: path, files: files, project_root: project_root)
end