module Scoverage

Constants

VERSION

Public Class Methods

colorize(text, color_code) click to toggle source
# File lib/scoverage.rb, line 6
def self.colorize(text, color_code)
  "\e[#{color_code}m#{text}\e[0m"
end
green(text) click to toggle source
# File lib/scoverage.rb, line 10
def self.green(text); colorize(text, 32); end
init(filename) click to toggle source
# File lib/scoverage.rb, line 23
def self.init(filename)
  handle = File.open(File.expand_path("#{filename}", Dir.pwd))
  xml = Oga.parse_xml(handle)
  all = xml.children.first.get('statement-rate').to_f
  xml.xpath('scoverage/packages/package').each do |package|
    package_rate = package.get('statement-rate').to_f
    puts rate_text(package_rate) + " % - " + package.get('name') + " "
    package.xpath('classes/class').each do |clazz|
      rate = clazz.get('statement-rate').to_f
      puts '  ' + rate_text(rate) + " % \t " + clazz.get('name')
    end
  end
  puts
  puts "===================="
  puts "All packages: #{rate_text(all)} %"
  puts "===================="
end
rate_text(rate) click to toggle source
# File lib/scoverage.rb, line 13
def self.rate_text(rate)
  if rate >= 70
    green(rate)
  elsif rate >= 40
    yellow(rate)
  else
    red(rate)
  end
end
red(text) click to toggle source
# File lib/scoverage.rb, line 9
def self.red(text); colorize(text, 31); end
yellow(text) click to toggle source
# File lib/scoverage.rb, line 11
def self.yellow(text); colorize(text, 33); end