class CovhuraClient

Constants

ROOT_PATH

Public Class Methods

new(config) click to toggle source
# File lib/integrations/covhura_client.rb, line 8
def initialize(config)
end

Public Instance Methods

get_report(commit_id, app_files) click to toggle source
# File lib/integrations/covhura_client.rb, line 11
def get_report(commit_id, app_files)
  filename = File.join(Dir.pwd, ".gitolemy", "coverage", "#{commit_id}.covhura.json.gz")
  return {} if not File.exist?(filename)

  coverage = JSON.parse(Zlib::GzipReader.open(filename) { |gz| gz.read })

  root_path = coverage_root_path(coverage.keys, app_files)
  coverage.reduce({}) do |acc, (file_path, file_coverage)|
    begin
    acc[file_path.sub(root_path, "")] = file_coverage
    acc
    rescue => e
    byebug
    1
    end
  end
end

Private Instance Methods

coverage_root_path(coverage_files, app_files) click to toggle source
# File lib/integrations/covhura_client.rb, line 31
def coverage_root_path(coverage_files, app_files)
  coverage_files.each do |coverage_file|
    match = app_files.detect { |app_file| coverage_file.include?(app_file) }
    return coverage_file.sub(match, "") if match
  end
  return nil
end