boilerplate_gems = <<-BOILERPLATE gem 'rack' gem 'rake' if RUBY_PLATFORM == 'java' gem "activerecord-jdbcmysql-adapter" else gem 'mysql' end BOILERPLATE if RUBY_VERSION >= '1.9.3' gemfile <<-RB gem 'activerecord', '~> 4.2.0' gem 'minitest', '~> 5.2.3' #{boilerplate_gems} RB gemfile <<-RB gem 'activerecord', '~> 4.1.6' gem 'minitest', '~> 5.2.3' #{boilerplate_gems} RB gemfile <<-RB gem 'activerecord', '~> 4.0.11' #{boilerplate_gems} RB end # AR 3.x does not have official support for Ruby 2.2, and there are several # known issues, including https://github.com/rails/rails/issues/18991, so # skip 3.x versions on 2.2. # if RUBY_VERSION < '2.2.0' gemfile <<-RB gem 'activerecord', '~> 3.2.19' #{boilerplate_gems} RB gemfile <<-RB gem 'activerecord', '~> 3.1.12' #{boilerplate_gems} RB gemfile <<-RB gem 'activerecord', '~> 3.0.20' #{boilerplate_gems} RB end # We pull in Rails on the older verions because ActiveRecord didn't have all # the tasks we need for setup, and there are some TestUnit vs Minitest oddities # # JRuby testing with 1.7 on Rails 2.x has issues and was already excluded in # test:env if RUBY_VERSION <= '1.9.3' && (!defined?(RUBY_ENGINE) || RUBY_ENGINE != 'jruby') gemfile <<-RB gem 'rails', '~> 2.3.18' #{boilerplate_gems} RB gemfile <<-RB gem "rails", "~> 2.2.3" #{boilerplate_gems} RB end if RUBY_VERSION < '1.9.2' gemfile <<-RB gem "rails", "~> 2.1.2" #{boilerplate_gems} RB end