diff --git a/lib/simplecov.rb b/lib/simplecov.rb index fc5074b9..4b73a435 100644 --- a/lib/simplecov.rb +++ b/lib/simplecov.rb @@ -119,3 +119,6 @@ def usable? # Load default config require 'simplecov/defaults' + +# Load Rails integration +require 'simplecov/railtie' if defined? Rails diff --git a/lib/simplecov/railtie.rb b/lib/simplecov/railtie.rb new file mode 100644 index 00000000..89a7d7ec --- /dev/null +++ b/lib/simplecov/railtie.rb @@ -0,0 +1,7 @@ +module SimpleCov + class Railtie < ::Rails::Railtie + rake_tasks do + load 'simplecov/railties/tasks.rake' + end + end +end diff --git a/lib/simplecov/railties/tasks.rake b/lib/simplecov/railties/tasks.rake new file mode 100644 index 00000000..a75e4813 --- /dev/null +++ b/lib/simplecov/railties/tasks.rake @@ -0,0 +1,11 @@ +require 'rake/testtask' +Rake::TestTask.new do |t| + t.name = 'simplecov' + t.loader = :direct # uses require() which skips PWD in Ruby 1.9 + t.libs.push 'test', 'spec', Dir.pwd + t.test_files = FileList['{test,spec}/**/*_{test,spec}.rb'] + t.ruby_opts.push '-r', 'simplecov', '-e', 'SimpleCov.start(:rails)'.inspect +end + +require 'rake/clean' +CLOBBER.include 'coverage'