Skip to content

Commit

Permalink
feat: Add rails 6.1.0.rc1 support
Browse files Browse the repository at this point in the history
- Remove support for ruby 2.4 and rails 4.2
- Remove unsed rails version methods for rails < 5
- Update all gem versions
- Disable Naming/VariableNumber Cop
- Use bionic distribution for CI
Note: Spring is not added in rails_6_1 appraisal as boot.rb has changed 
in rails which causes spring to be loaded from there.
This loading of spring fails as the path created while initializing the 
rails app for testing is not relative and thus loads from wrong path.
  • Loading branch information
KapilSachdev committed Nov 20, 2020
1 parent 91f57a3 commit 726b5ee
Show file tree
Hide file tree
Showing 43 changed files with 1,805 additions and 2,672 deletions.
4 changes: 3 additions & 1 deletion .rubocop.yml
Expand Up @@ -3,7 +3,7 @@ require:
- rubocop-rails
AllCops:
NewCops: disable
TargetRubyVersion: 2.4
TargetRubyVersion: 2.5
Exclude:
- 'gemfiles/*'
Bundler/OrderedGems:
Expand Down Expand Up @@ -106,6 +106,8 @@ Naming/PredicateName:
Enabled: false
Naming/RescuedExceptionsVariableName:
Enabled: false
Naming/VariableNumber:
Enabled: false
Rails/Date:
Enabled: false
Rails/Delegate:
Expand Down
19 changes: 2 additions & 17 deletions .travis.yml
@@ -1,5 +1,5 @@
language: ruby
dist: xenial
dist: bionic
services:
- postgresql
env:
Expand All @@ -10,32 +10,17 @@ rvm:
- 2.7.2
- 2.6.6
- 2.5.8
- 2.4.10
gemfile:
- gemfiles/rails_6_1.gemfile
- gemfiles/rails_6_0.gemfile
- gemfiles/rails_5_2.gemfile
- gemfiles/rails_5_1.gemfile
- gemfiles/rails_5_0.gemfile
- gemfiles/rails_4_2.gemfile
matrix:
exclude:
- rvm: 2.7.2
gemfile: gemfiles/rails_4_2.gemfile
- rvm: 2.6.6
gemfile: gemfiles/rails_4_2.gemfile
- rvm: 2.4.10
gemfile: gemfiles/rails_6_0.gemfile
cache:
directories:
- /home/travis/.rvm/gems/ruby-2.7.2
- /home/travis/.rvm/gems/ruby-2.6.6
- /home/travis/.rvm/gems/ruby-2.5.8
- /home/travis/.rvm/gems/ruby-2.4.10
# Source: <https://docs.travis-ci.com/user/languages/ruby/#bundler-20>
before_install:
- gem update --system --force --no-document
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
- gem install bundler -v '< 2' --no-document
install: "bundle install --jobs=3 --retry=3"
script: "bundle exec rake"
branches:
Expand Down
150 changes: 67 additions & 83 deletions Appraisals
Expand Up @@ -3,134 +3,118 @@
# best to keep the gems here in the same order as they're listed there so you
# can compare them more easily.

# Needed for Rails 5+ controller tests
controller_test_dependency = proc do
gem 'rails-controller-testing', '>= 1.0.1'
end

shared_spring_dependencies = proc do
gem 'spring'
gem 'spring-commands-rspec'
end

shared_test_dependencies = proc do
gem 'rspec-rails', '~> 3.9'
gem 'shoulda-context', '~> 1.2.0'
# Needed for Rails 5+ controller tests
gem 'rails-controller-testing', '>= 1.0.1'
gem 'rspec-rails', '~> 4.0'
gem 'shoulda-context', '~> 2.0'
end

shared_dependencies = proc do
instance_eval(&shared_spring_dependencies)
instance_eval(&shared_test_dependencies)
end

appraise 'rails_4_2' do
instance_eval(&shared_dependencies)

gem 'rails', '4.2.11.1'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'bcrypt', '~> 3.1.7'

# Other dependencies
gem 'activeresource', '4.0.0'
gem 'json', '~> 1.4'
gem 'protected_attributes', '~> 1.0.6'

# Database adapters
gem 'pg', '~> 0.18'
gem 'sqlite3', '~> 1.3.6'
end

appraise 'rails_5_0' do
instance_eval(&shared_dependencies)
instance_eval(&controller_test_dependency)

gem 'rails', '5.0.7.2'
gem 'puma', '~> 3.0'
gem 'sass-rails', '~> 5.0'
gem 'puma', '~> 5.0'
gem 'sass-rails', '~> 6.0'
gem 'jquery-rails'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
gem 'bcrypt', '~> 3.1.7'
gem 'listen', '~> 3.0.5'
gem 'jbuilder', '~> 2.10'
gem 'bcrypt', '~> 3.1.16'
gem 'listen', '~> 3.3'
gem 'spring-watcher-listen', '~> 2.0.0'

# Database adapters
gem 'pg', '~> 0.18'
gem 'sqlite3', '~> 1.3.6'
gem 'sqlite3', '~> 1.3.13'
end

appraise 'rails_5_1' do
instance_eval(&shared_dependencies)
instance_eval(&controller_test_dependency)

gem 'rails', '5.1.7'
gem 'puma', '~> 3.7'
gem 'sass-rails', '~> 5.0'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
gem 'bcrypt', '~> 3.1.7'
gem 'capybara', '~> 2.13'
gem 'puma', '~> 5.0'
gem 'sass-rails', '~> 6.0'
gem 'turbolinks', '~> 5.2'
gem 'jbuilder', '~> 2.10'
gem 'bcrypt', '~> 3.1.16'
gem 'capybara', '~> 3.33'
gem 'selenium-webdriver'
gem 'listen', '>= 3.0.5', '< 3.2'
gem 'listen', '~> 3.3'
gem 'spring-watcher-listen', '~> 2.0.0'

# Database adapters
gem 'pg', '~> 0.18'
gem 'sqlite3', '~> 1.3.6'
gem 'sqlite3', '~> 1.4'
end

appraise 'rails_5_2' do
instance_eval(&shared_dependencies)
instance_eval(&controller_test_dependency)

gem 'rails', '5.2.4.1'
gem 'puma', '~> 3.11'
gem 'bootsnap', '>= 1.1.0', require: false
gem 'sass-rails', '~> 5.0'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
gem 'bcrypt', '~> 3.1.7'
gem 'capybara', '~> 3.1.1'
gem 'puma', '~> 5.0'
gem 'bootsnap', '>= 1.5.0', require: false
gem 'sass-rails', '~> 6.0'
gem 'turbolinks', '~> 5.2'
gem 'jbuilder', '~> 2.10'
gem 'bcrypt', '~> 3.1.16'
gem 'capybara', '~> 3.33'
gem 'selenium-webdriver'
gem 'chromedriver-helper'
gem 'listen', '>= 3.0.5', '< 3.2'
gem 'listen', '~> 3.3'
gem 'spring-watcher-listen', '~> 2.0.0'

# Database adapters
gem 'pg', '~> 0.18'
gem 'sqlite3', '~> 1.3.6'
gem 'pg', '>= 0.18', '< 2.0'
gem 'sqlite3', '~> 1.4'
end

appraise 'rails_6_0' do
instance_eval(&shared_dependencies)

gem 'rails', '6.0.3.4'
gem 'puma', '~> 5.0'
gem 'bootsnap', '>= 1.5.0', require: false
gem 'sass-rails', '>= 6'
gem 'turbolinks', '~> 5.2'
gem 'jbuilder', '~> 2.10'
gem 'bcrypt', '~> 3.1.16'
gem 'capybara', '>= 3.33'
gem 'listen', '~> 3.3'
gem 'spring-watcher-listen', '~> 2.0.0'
gem 'selenium-webdriver'
gem 'webdrivers'

# Database adapters
gem 'pg', '>= 0.18', '< 2.0'
gem 'sqlite3', '~> 1.4'
end

if Gem::Requirement.new('>= 2.5.0').
satisfied_by?(Gem::Version.new(RUBY_VERSION))
appraise 'rails_6_0' do
instance_eval(&shared_dependencies)
instance_eval(&controller_test_dependency)

gem 'rails', '6.0.2.1'
gem 'puma', '~> 4.1'
gem 'bootsnap', '>= 1.4.2', require: false
gem 'sass-rails', '>= 6'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.7'
gem 'bcrypt', '~> 3.1.7'
gem 'capybara', '>= 2.15'
gem 'listen', '>= 3.0.5', '< 3.2'
gem 'spring-watcher-listen', '~> 2.0.0'
gem 'selenium-webdriver'
gem 'webdrivers'

# Other dependencies
gem 'actiontext', '~> 6.0.2.1'

# Database adapters
gem 'pg', '>= 0.18', '< 2.0'
gem 'sqlite3', '~> 1.4'
end
appraise 'rails_6_1' do
instance_eval(&shared_test_dependencies)

gem 'rails', '6.1.0.rc1'
gem 'puma', '~> 5.0'
gem 'bootsnap', '>= 1.5.0', require: false
gem 'sass-rails', '>= 6'
gem 'turbolinks', '~> 5.2'
gem 'jbuilder', '~> 2.10'
gem 'bcrypt', '~> 3.1.16'
gem 'capybara', '>= 3.33'
gem 'listen', '~> 3.3'
gem 'selenium-webdriver'
gem 'webdrivers'

# Database adapters
gem 'pg', '>= 0.18', '< 2.0'
gem 'sqlite3', '~> 1.4'
end
7 changes: 3 additions & 4 deletions Gemfile
@@ -1,11 +1,10 @@
source 'https://rubygems.org'

gem 'appraisal', '2.2.0'
gem 'bundler', '~> 1.1'
gem 'appraisal'
gem 'pry'
gem 'pry-byebug'
gem 'rake', '13.0.1'
gem 'rspec', '~> 3.9'
gem 'rake'
gem 'rspec'
gem 'rubocop', require: false
gem 'rubocop-packaging', require: false
gem 'rubocop-rails', require: false
Expand Down
51 changes: 25 additions & 26 deletions Gemfile.lock
Expand Up @@ -7,21 +7,21 @@ GEM
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2, >= 2.2.2)
appraisal (2.2.0)
appraisal (2.3.0)
bundler
rake
thor (>= 0.14.0)
ast (2.4.1)
byebug (11.1.3)
coderay (1.1.3)
concurrent-ruby (1.1.7)
diff-lcs (1.3)
diff-lcs (1.4.4)
fssm (0.2.10)
i18n (1.8.5)
concurrent-ruby (~> 1.0)
method_source (1.0.0)
minitest (5.14.2)
parallel (1.19.2)
parallel (1.20.0)
parser (2.7.2.0)
ast (~> 2.4.1)
pry (0.13.1)
Expand All @@ -36,30 +36,30 @@ GEM
redcarpet (3.5.0)
regexp_parser (1.8.2)
rexml (3.2.4)
rouge (3.22.0)
rspec (3.9.0)
rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0)
rspec-core (3.9.0)
rspec-support (~> 3.9.0)
rspec-expectations (3.9.0)
rouge (3.25.0)
rspec (3.10.0)
rspec-core (~> 3.10.0)
rspec-expectations (~> 3.10.0)
rspec-mocks (~> 3.10.0)
rspec-core (3.10.0)
rspec-support (~> 3.10.0)
rspec-expectations (3.10.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-mocks (3.9.0)
rspec-support (~> 3.10.0)
rspec-mocks (3.10.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-support (3.9.0)
rubocop (1.0.0)
rspec-support (~> 3.10.0)
rspec-support (3.10.0)
rubocop (1.3.1)
parallel (~> 1.10)
parser (>= 2.7.1.5)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8)
rexml
rubocop-ast (>= 0.6.0)
rubocop-ast (>= 1.1.1)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 2.0)
rubocop-ast (1.1.0)
rubocop-ast (1.1.1)
parser (>= 2.7.1.5)
rubocop-packaging (0.5.1)
rubocop (>= 0.89, < 2.0)
Expand All @@ -68,30 +68,29 @@ GEM
rack (>= 1.1)
rubocop (>= 0.87.0)
ruby-progressbar (1.10.1)
thor (0.20.0)
thor (1.0.1)
thread_safe (0.3.6)
tzinfo (1.2.7)
tzinfo (1.2.8)
thread_safe (~> 0.1)
unicode-display_width (1.7.0)
warnings_logger (0.1.1)
yard (0.9.25)
zeitwerk (2.4.0)
zeitwerk (2.4.1)
zeus (0.15.14)
method_source (>= 0.6.7)

PLATFORMS
ruby

DEPENDENCIES
appraisal (= 2.2.0)
bundler (~> 1.1)
appraisal
fssm
pry
pry-byebug
rake (= 13.0.1)
rake
redcarpet
rouge
rspec (~> 3.9)
rspec
rubocop
rubocop-packaging
rubocop-rails
Expand All @@ -100,4 +99,4 @@ DEPENDENCIES
zeus

BUNDLED WITH
1.17.3
2.1.4

0 comments on commit 726b5ee

Please sign in to comment.