# frozen_string_literal: true class CoverageReport def self.generate(type, report_path, data) if type == 'simplecov' simplecov(report_path, data) elsif type == 'jest' jest(report_path, data) else raise 'InvalidCoverageReportType' end end def self.simplecov(report_path, data) report = JSON.parse(File.read(report_path)) minumum_percent = data[:min] covered_percent = report.dig('result', 'covered_percent') { 'lines' => { 'covered_percent' => covered_percent, 'minumum_percent' => minumum_percent } } end def self.jest(report_path, data) report = JSON.parse(File.read(report_path)) minumum_percent = data[:min] covered_percent = report.dig('result', 'covered_percent') { 'lines' => { 'covered_percent' => covered_percent, 'minumum_percent' => minumum_percent } } end end