In Files

Hoe::RCov

RCov plugin for hoe.

Tasks Provided:

rcov

Analyze code coverage with tests

Public Instance Methods

activate_rcov_deps() click to toggle source
    # File lib/hoe/rcov.rb, line 9
 9:   def activate_rcov_deps
10:     dependency "rcov", "~> 0.9", :development
11:   end
define_rcov_tasks() click to toggle source

Define tasks for plugin.

    # File lib/hoe/rcov.rb, line 16
16:   def define_rcov_tasks
17:     begin # take a whack at defining rcov tasks
18:       task :isolate # ensure it exists
19: 
20:       task :rcov => :isolate do
21:         sh(*make_rcov_cmd)
22:       end
23: 
24:       task :clobber_rcov do
25:         rm_rf "coverage"
26:       end
27: 
28:       task :clobber => :clobber_rcov
29: 
30:       # this is for my emacs rcov overlay stuff on emacswiki.
31:       task :rcov_overlay do
32:         path = ENV["FILE"]
33:         rcov, eol = Marshal.load(File.read("coverage.info")).last[path], 1
34:         puts rcov[:lines].zip(rcov[:coverage]).map { |line, coverage|
35:           bol, eol = eol, eol + line.length
36:           [bol, eol, "#ffcccc"] unless coverage
37:         }.compact.inspect
38:       end
39:     rescue LoadError
40:       # skip
41:       task :clobber_rcov # in case rcov didn't load
42:     end
43:   end
make_rcov_cmd() click to toggle source
    # File lib/hoe/rcov.rb, line 45
45:   def make_rcov_cmd
46:     rcov  = Gem.bin_wrapper "rcov"
47:     tests = test_globs.sort.map { |g| Dir.glob(g) }.flatten.map(&:inspect)
48: 
49:     cmd = ]#{rcov}
50:              #{Hoe::RUBY_FLAGS}
51:              --text-report
52:              --no-color
53:              --save coverage.info
54:              -x ^/
55:              -x tmp/isolate
56:              --sort coverage
57:              --sort-reverse
58:              -o coverage
59:             ] + tests
60: 
61:     cmd
62:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.