Rakefile in acts_as_api-0.3.11 vs Rakefile in acts_as_api-0.4

- old
+ new

@@ -6,20 +6,43 @@ RSpec::Core::RakeTask.new namespace :spec do - desc "Run ActiveRecord RSpec code examples only" - RSpec::Core::RakeTask.new do |t| - t.name = :active_record - t.rspec_opts = ["--color", "--format", "documentation", "--tag", "orm:active_record"] + supported_orms = %w(mongoid active_record) + + supported_orms.each do |orm| + desc "Run #{orm} specs only" + RSpec::Core::RakeTask.new do |t| + t.name = orm + t.rspec_opts = ["--color"] + end + + task "prepare_#{orm}" do + ENV['ACTS_AS_API_ORM'] = orm + end + + Rake::Task["spec:#{orm}"].prerequisites << "spec:prepare_#{orm}" end + +# task :all => supported_orms.map{|orm| "spec:#{orm}"} + + desc "Runs specs for all ORMs (#{supported_orms.join(', ')})" + task :all do + supported_orms.each do |orm| + puts "Starting to run specs for #{orm}..." + system("bundle exec rake spec:#{orm}") + raise "#{orm} failed!" unless $?.exitstatus == 0 + end + end + end + gemspec = Gem::Specification.load("acts_as_api.gemspec") -task :default => :spec +task :default => "spec:all" desc "Generate the gh_pages site" task :rocco do system "bundle exec rocco examples/introduction/index.rb -t examples/introduction/layout.mustache" end