# RSpec tasks begin
require 'rspec/core/rake_task' # Create the 'spec' task RSpec::Core::RakeTask.new(:spec) do |task| task.rspec_opts = '--color' end namespace :spec do desc "Run the test suite and generate coverage metrics" task :coverage => [ :simplecov, :spec ] # Add test coverage to the 'spec' task. task :simplecov do ENV['COVERAGE'] = '1' end end task :default => :spec
rescue LoadError
warn "[Warning]: Could not load `rspec`."
end
# YARD tasks begin
require 'yard' require 'yard/rake/yardoc_task' YARD::Rake::YardocTask.new(:doc) do |yardoc| yardoc.files = [ 'lib /*.rb', '-', ' *.md' ] end
rescue LoadError
warn "[Warning]: Could not load `yard`."
end
# Cane tasks begin
require 'cane/rake_task' Cane::RakeTask.new(:cane) do |cane| cane.add_threshold 'coverage/.last_run.json', :>=, 100 cane.abc_max = 15 end Rake::Task['cane'].prerequisites << Rake::Task['spec:coverage'] Rake::Task[:default].clear_prerequisites task :default => :cane
rescue LoadError
warn "[Warning]: Could not load `cane`."
end
# Gem tasks begin
require 'rubygems/tasks' task :gem => 'gem:build' task :validate => [ 'cane', 'doc', 'gem:validate' ] namespace :gem do Gem::Tasks.new( :tag => { :format => 'v%s' }, :sign => { :checksum => true, :pgp => true }, :build => { :tar => true } ) end
rescue LoadError
warn "[Warning]: Could not load `rubygems/tasks`."
end