database_cleaner/Rakefile

59 lines
1.8 KiB
Ruby

require "rubygems"
require "bundler"
Bundler.setup
require 'rake'
begin
require 'jeweler'
Jeweler::Tasks.new do |s|
s.name = "database_cleaner"
s.summary = %Q{Strategies for cleaning databases. Can be used to ensure a clean state for testing.}
s.email = "ben@benmabey.com"
s.homepage = "http://github.com/bmabey/database_cleaner"
s.description = "Strategies for cleaning databases. Can be used to ensure a clean state for testing."
s.files = FileList["[A-Z]*.*", "{examples,lib,features,spec}/**/*", "Rakefile", "cucumber.yml"]
s.authors = ["Ben Mabey"]
end
rescue LoadError
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
end
require 'rspec/core'
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) do |spec|
spec.pattern = FileList['spec/**/*_spec.rb']
end
RSpec::Core::RakeTask.new(:travis) do |spec|
spec.pattern = FileList['spec/travis.rb']
end
RSpec::Core::RakeTask.new(:rcov) do |spec|
spec.pattern = 'spec/**/*_spec.rb'
spec.rcov = true
end
begin
require 'cucumber/rake/task'
Cucumber::Rake::Task.new(:features)
rescue LoadError
puts "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
end
task :default => [:spec, :features]
desc "Cleans the project of any tmp file that should not be included in the gemspec."
task :clean do
["examples/config/database.yml", "examples/db/activerecord_one.db", "examples/db/activerecord_two.db", "examples/db/datamapper_default.db",
"examples/db/datamapper_one.db", "examples/db/datamapper_two.db"].each do |f|
FileUtils.rm_f(f)
end
%w[*.sqlite3 *.log #* *.swp *.swo].each do |pattern|
`find . -name "#{pattern}" -delete`
end
end
desc "Cleans the dir and builds the gem"
task :prep => [:clean, :gemspec, :build]