Sha256: 528009a59f1aaefa9fcb76ea0243699890f2e69d9fd2540b31918e37cb998aaa
Contents?: true
Size: 1.3 KB
Versions: 1
Compression:
Stored size: 1.3 KB
Contents
# frozen_string_literal: true require 'simplecov' require 'json' require 'open-uri' require_relative 'simplecov-shield-json/version' module SimpleCov module Formatter # shield json generator class ShieldJSONFormatter def format(result) shield_url = shield_json(result) File.open(output_filepath, 'w+') do |file| file.puts URI.open(shield_url).read end puts output_message(result) shield_url end private def output_filename 'badge.svg' end def output_filepath File.join(output_path, output_filename) end def output_message(result) "Coverage report generated for #{result.command_name} to #{output_filepath}. \ #{result.covered_lines} / #{result.total_lines} LOC (#{result.covered_percent.round(2)}%) covered." end def output_path SimpleCov.coverage_path end def color(coverage_percent) case coverage_percent when 90..100 'brightgreen' when 80..89 'yellow' else 'red' end end def shield_json(result) "https://img.shields.io/badge/Coverage-#{result.covered_percent.round(2)}#{CGI.escape('%')}-#{color(result.covered_percent)}.svg" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simplecov-shield-json-1.0.1 | lib/simplecov-shield-json.rb |