Skip to content

Commit

Permalink
Add back Ruby 2.2 support for Rails 5
Browse files Browse the repository at this point in the history
  • Loading branch information
JonRowe committed May 15, 2020
1 parent f470bbb commit e1bb46f
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 8 deletions.
9 changes: 9 additions & 0 deletions .travis.yml
Expand Up @@ -77,6 +77,11 @@ matrix:
env: RAILS_VERSION='~> 5.2.0'
- rvm: 2.3.8
env: RAILS_VERSION='~> 5.2.0'
- rvm: 2.2.10
env: RAILS_VERSION='~> 5.2.0'
allow_failure: true
- rvm: 2.2.10
env: RAILS_VERSION='5-2-stable'

# Rails 5.1 Builds >= 2.2.2
- rvm: 2.6.6
Expand All @@ -87,6 +92,8 @@ matrix:
env: RAILS_VERSION='~> 5.1.0'
- rvm: 2.3.8
env: RAILS_VERSION='~> 5.1.0'
- rvm: 2.2.10
env: RAILS_VERSION='~> 5.1.0'

# Rails 5.0 Builds >= 2.2.2
- rvm: 2.6.6
Expand All @@ -97,5 +104,7 @@ matrix:
env: RAILS_VERSION='~> 5.0.0'
- rvm: 2.3.8
env: RAILS_VERSION='~> 5.0.0'
- rvm: 2.2.10
env: RAILS_VERSION='~> 5.0.0'

fast_finish: true
13 changes: 11 additions & 2 deletions Gemfile
Expand Up @@ -22,6 +22,9 @@ case RAILS_VERSION
when /master/
MAJOR = 6
MINOR = 0
when /5-2-stable/
MAJOR = 5
MINOR = 2
when /stable/
MAJOR = 6
MINOR = 0
Expand All @@ -46,7 +49,11 @@ gem 'rake', '~> 12'

gem 'mime-types', "~> 3"

gem 'capybara', '>= 2.13', '< 4.0', require: false
if RUBY_VERSION.to_f == 2.2
gem 'capybara', '~> 3.1.0'
else
gem 'capybara', '>= 2.13', '< 4.0', require: false
end

if MAJOR < 6
gem 'nokogiri', '1.9.1'
Expand All @@ -56,7 +63,9 @@ end

gem "rubyzip", '~> 1.2'

gem 'rubocop', '~> 0.80.1'
if RUBY_VERSION.to_f >= 2.3
gem 'rubocop', '~> 0.80.1'
end

custom_gemfile = File.expand_path('Gemfile-custom', __dir__)
eval_gemfile custom_gemfile if File.exist?(custom_gemfile)
Expand Down
4 changes: 3 additions & 1 deletion example_app_generator/generate_app.rb
Expand Up @@ -36,7 +36,9 @@
end

if Rails::VERSION::STRING >= "5.1.0"
if RUBY_VERSION < "2.4"
if RUBY_VERSION < "2.3"
gsub_file "Gemfile", /.*capybara.*/, "gem 'capybara', '~> 3.1.0'"
elsif RUBY_VERSION < "2.4"
gsub_file "Gemfile", /.*capybara.*/, "gem 'capybara', '~> 3.15.0'"
end
if Rails::VERSION::STRING >= "5.2.0"
Expand Down
4 changes: 2 additions & 2 deletions lib/rspec/rails/example/mailer_example_group.rb
Expand Up @@ -21,8 +21,8 @@ module MailerExampleGroup

included do
include ::Rails.application.routes.url_helpers
options = ::Rails.configuration.action_mailer.default_url_options
options&.each { |key, value| default_url_options[key] = value }
options = ::Rails.configuration.action_mailer.default_url_options || {}
options.each { |key, value| default_url_options[key] = value }
end

# Class-level DSL for mailer specs.
Expand Down
10 changes: 8 additions & 2 deletions script/update_rubygems_and_install_bundler
Expand Up @@ -5,5 +5,11 @@
set -e
source script/functions.sh

gem update --no-document --system
gem install --no-document bundler
if is_ruby_23_plus; then
gem update --no-document --system
gem install --no-document bundler
else
echo "Warning installing older versions of Rubygems / Bundler"
gem update --system '2.7.8'
gem install bundler -v '1.17.3'
fi
13 changes: 12 additions & 1 deletion spec/rspec/rails/example/view_example_group_spec.rb
Expand Up @@ -236,7 +236,18 @@ def _view; end # Stub method
expect(view_spec.view).to eq(view)
end

it 'is accessible to hooks' do
if RUBY_VERSION <= "2.3.0" && ENV["RAILS_VERSION"] !=~ /stable/ && ::Rails.version.to_f == 5.2
pending_only_on_ruby_22_rails_52 = """
Rails 5.2.4.2 has a syntax error in ActionDispatch::Request::Session.
(A &. usage which does not work in 2.2.10)
It has been fixed but not released, this spec will not pass until that
has been released.
"""
else
pending_only_on_ruby_22_rails_52 = false
end

it 'is accessible to hooks', pending: pending_only_on_ruby_22_rails_52 do
with_isolated_config do
run_count = 0
RSpec.configuration.before(:each, type: :view) do
Expand Down

0 comments on commit e1bb46f

Please sign in to comment.