Rakefile in money-rails-1.12.0 vs Rakefile in money-rails-1.13.0
- old
+ new
@@ -11,10 +11,11 @@
$stderr.puts "Run `bundle install` to install missing gems"
exit e.status_code
end
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
+GEMFILES_PATH = 'gemfiles/*.gemfile'.freeze
load 'rails/tasks/engine.rake' if File.exist?(APP_RAKEFILE)
require 'rake'
require 'rspec/core/rake_task'
@@ -45,49 +46,30 @@
end
end
end
namespace :spec do
+ frameworks_versions = {}
- desc "Run Tests against mongoid (version 5)"
- task(:mongoid5) { run_with_gemfile 'gemfiles/mongoid5.gemfile' }
+ Dir[GEMFILES_PATH].each do |gemfile|
+ file_name = File.basename(gemfile, '.gemfile')
+ framework, version = file_name.split(/(\d+)/)
+ major, minor = version.split(//)
- desc "Run Tests against mongoid (version 4)"
- task(:mongoid4) { run_with_gemfile 'gemfiles/mongoid4.gemfile' }
+ frameworks_versions[framework] ||= []
+ frameworks_versions[framework] << file_name
- desc "Run Tests against mongoid (version 3)"
- task(:mongoid3) { run_with_gemfile 'gemfiles/mongoid3.gemfile' }
+ desc "Run Tests against #{framework} #{[major, minor].compact.join('.')}"
+ task(file_name) { run_with_gemfile gemfile }
+ end
- desc "Run Tests against mongoid (version 2)"
- task(:mongoid2) { run_with_gemfile 'gemfiles/mongoid2.gemfile' }
+ frameworks_versions.each do |framework, versions|
+ desc "Run Tests against all supported #{framework} versions"
+ task framework => versions
+ end
- desc "Run Tests against rails 5.1"
- task(:rails51) { run_with_gemfile 'gemfiles/rails51.gemfile' }
-
- desc "Run Tests against rails 5.0"
- task(:rails50) { run_with_gemfile 'gemfiles/rails50.gemfile' }
-
- desc "Run Tests against rails 4.2"
- task(:rails42) { run_with_gemfile 'gemfiles/rails42.gemfile' }
-
- desc "Run Tests against rails 4.1"
- task(:rails41) { run_with_gemfile 'gemfiles/rails41.gemfile' }
-
- desc "Run Tests against rails 4"
- task(:rails4) { run_with_gemfile 'gemfiles/rails4.gemfile' }
-
- desc "Run Tests against rails 3"
- task(:rails3) { run_with_gemfile 'gemfiles/rails3.gemfile' }
-
- desc "Run Tests against mongoid 2 & 3 & 4, 5"
- task mongoid: [:mongoid2, :mongoid3, :mongoid4, :mongoid5]
-
- desc "Run Tests against rails 3 & 4 & 4.1 & 4.2 & 5.0"
- task rails: [:rails3, :rails4, :rails41, :rails42, :rails50, :rails51]
-
- desc "Run Tests against all ORMs"
- task all: [:rails, :mongoid]
-
+ desc 'Run Tests against all ORMs'
+ task all: frameworks_versions.keys
end
desc "Update CONTRIBUTORS file"
task :contributors do
sh "git shortlog -s | awk '{ print $2 \" \" $3 }' > CONTRIBUTORS"