Module: Scoverage

Defined in:
lib/scoverage.rb,
lib/scoverage/version.rb

Constant Summary collapse

VERSION =
"0.0.3"

Class Method Summary collapse

Class Method Details

.colorize(text, color_code) ⇒ Object



6
7
8
# File 'lib/scoverage.rb', line 6

def self.colorize(text, color_code)
  "\e[#{color_code}m#{text}\e[0m"
end

.green(text) ⇒ Object



10
# File 'lib/scoverage.rb', line 10

def self.green(text); colorize(text, 32); end

.init(filename) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 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) ⇒ Object



13
14
15
16
17
18
19
20
21
# 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) ⇒ Object



9
# File 'lib/scoverage.rb', line 9

def self.red(text); colorize(text, 31); end

.yellow(text) ⇒ Object



11
# File 'lib/scoverage.rb', line 11

def self.yellow(text); colorize(text, 33); end