Sha256: c4fd2f4eb88e88a9a69330acba8cf418dc7a88aaa7a8a9490b187f5c76bfa174

Contents?: true

Size: 1.07 KB

Versions: 15

Compression:

Stored size: 1.07 KB

Contents

##
# RCov plugin for hoe.
#
# === Tasks Provided:
#
# rcov::               Analyze code coverage with tests

module Hoe::RCov
  ##
  # Define tasks for plugin.

  def define_rcov_tasks
    begin # take a whack at defining rcov tasks
      require 'rcov/rcovtask'

      Rcov::RcovTask.new do |t|
        pattern = ENV['PATTERN'] || test_globs

        t.test_files = FileList[pattern]
        t.verbose = true
        t.rcov_opts << Hoe::RUBY_FLAGS
        t.rcov_opts << "--no-color"
        t.rcov_opts << "--save coverage.info"
        t.rcov_opts << "-x ^/"
      end

      # this is for my emacs rcov overlay stuff on emacswiki.
      task :rcov_overlay do
        path = ENV["FILE"]
        rcov, eol = Marshal.load(File.read("coverage.info")).last[path], 1
        puts rcov[:lines].zip(rcov[:coverage]).map { |line, coverage|
          bol, eol = eol, eol + line.length
          [bol, eol, "#ffcccc"] unless coverage
        }.compact.inspect
      end
    rescue LoadError
      # skip
      task :clobber_rcov # in case rcov didn't load
    end
  end
end

task :clean => :clobber_rcov

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
hoe-2.10.0 lib/hoe/rcov.rb
hoe-2.9.6 lib/hoe/rcov.rb
hoe-2.9.5 lib/hoe/rcov.rb
hoe-2.9.4 lib/hoe/rcov.rb
hoe-2.9.3 lib/hoe/rcov.rb
hoe-2.9.2 lib/hoe/rcov.rb
hoe-2.9.1 lib/hoe/rcov.rb
hoe-2.9.1.b.2 lib/hoe/rcov.rb
hoe-2.9.0 lib/hoe/rcov.rb
hoe-2.8.0 lib/hoe/rcov.rb
hoe-2.7.0 lib/hoe/rcov.rb
hoe-2.6.2 lib/hoe/rcov.rb
hoe-2.6.1 lib/hoe/rcov.rb
hoe-2.6.0 lib/hoe/rcov.rb
hoe-2.5.0 lib/hoe/rcov.rb