From 416c5431e3f31f030cd3c9c379dadf60bcc75476 Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 06:08:27 +0200 Subject: [PATCH 01/27] Relax railites to allow version 5.2. --- cucumber-rails.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index 4a3a4489..21c3c082 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -15,7 +15,7 @@ Gem::Specification.new do |s| s.add_runtime_dependency('capybara', ['>= 1.1.2', '< 3']) s.add_runtime_dependency('cucumber', ['>= 3.0.2', '< 4']) s.add_runtime_dependency('nokogiri', '~> 1.5') - s.add_runtime_dependency('railties', ['>= 4', '< 5.2']) + s.add_runtime_dependency('railties', ['>= 4', '<= 5.2']) s.add_runtime_dependency('mime-types', ['>= 1.17', '< 4']) # Main development dependencies From 3bbb2a290b02a81d12f7f7ff91425ce390519052 Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 06:15:06 +0200 Subject: [PATCH 02/27] Add gemfile for rails 5.2. --- .travis.yml | 1 + gemfiles/rails_5_2.gemfile | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 gemfiles/rails_5_2.gemfile diff --git a/.travis.yml b/.travis.yml index 15ada837..4c38f8e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,7 @@ branches: - master gemfile: + - gemfiles/rails_5_2.gemfile - gemfiles/rails_5_1.gemfile - gemfiles/rails_5_0.gemfile - gemfiles/rails_4_2.gemfile diff --git a/gemfiles/rails_5_2.gemfile b/gemfiles/rails_5_2.gemfile new file mode 100644 index 00000000..6d8df547 --- /dev/null +++ b/gemfiles/rails_5_2.gemfile @@ -0,0 +1,17 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "rails", "~> 5.2.0" +gem "railties", "~> 5.2.0" +gem "capybara", "~> 2.7.1" +gem "selenium-webdriver", "~> 3.9.0" +gem "geckodriver-helper", "~> 0.0.4" +gem "rspec-rails", "~> 3.5.0" +gem "sass-rails", "~> 5.0" +gem "coffee-rails", "~> 4.2.0" +gem "uglifier", "~> 3.2.0" +gem "sqlite3", "~> 1.3.13" +gem "database_cleaner", ">= 1.1.0" + +gemspec path: "../" From 238c391401a9eab828b539393d456dda1e1dfad7 Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 08:14:23 +0200 Subject: [PATCH 03/27] Update 5.2 gemspec dependencies to latest available ones. Allow railties < 6. --- cucumber-rails.gemspec | 6 +++--- gemfiles/rails_5_2.gemfile | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index 21c3c082..3e72eb9c 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -3,7 +3,7 @@ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__) Gem::Specification.new do |s| s.name = 'cucumber-rails' - s.version = '1.5.0' + s.version = '1.5.1' s.authors = ["Aslak Hellesøy", "Dennis Blöte", "Rob Holland"] s.description = "Cucumber Generator and Runtime for Rails" s.summary = "#{s.name}-#{s.version}" @@ -12,10 +12,10 @@ Gem::Specification.new do |s| s.license = 'MIT' - s.add_runtime_dependency('capybara', ['>= 1.1.2', '< 3']) + s.add_runtime_dependency('capybara', ['>= 1.1.2', '< 4']) s.add_runtime_dependency('cucumber', ['>= 3.0.2', '< 4']) s.add_runtime_dependency('nokogiri', '~> 1.5') - s.add_runtime_dependency('railties', ['>= 4', '<= 5.2']) + s.add_runtime_dependency('railties', ['>= 4', '< 6']) s.add_runtime_dependency('mime-types', ['>= 1.17', '< 4']) # Main development dependencies diff --git a/gemfiles/rails_5_2.gemfile b/gemfiles/rails_5_2.gemfile index 6d8df547..a048d646 100644 --- a/gemfiles/rails_5_2.gemfile +++ b/gemfiles/rails_5_2.gemfile @@ -2,16 +2,16 @@ source "https://rubygems.org" -gem "rails", "~> 5.2.0" -gem "railties", "~> 5.2.0" -gem "capybara", "~> 2.7.1" -gem "selenium-webdriver", "~> 3.9.0" +gem "rails", "~> 5.2" +gem "railties", "~> 5.2" +gem "capybara", "~> 3.0" +gem "selenium-webdriver", "~> 3.11" gem "geckodriver-helper", "~> 0.0.4" -gem "rspec-rails", "~> 3.5.0" +gem "rspec-rails", "~> 3.7" gem "sass-rails", "~> 5.0" -gem "coffee-rails", "~> 4.2.0" -gem "uglifier", "~> 3.2.0" +gem "coffee-rails", "~> 4.2" +gem "uglifier", "~> 4.1" gem "sqlite3", "~> 1.3.13" -gem "database_cleaner", ">= 1.1.0" +gem "database_cleaner", ">= 1.6.2" gemspec path: "../" From 6100eb4ff571cd7cc4357fc1cca93290d18b0b51 Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 08:20:07 +0200 Subject: [PATCH 04/27] Make travis use latest ruby releases. --- .travis.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4c38f8e7..d30a6986 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ rvm: - - 2.2.9 - - 2.3.6 - - 2.4.3 - - 2.5.0 + - 2.2.10 + - 2.3.7 + - 2.4.4 + - 2.5.1 - ruby-head # whitelist @@ -21,15 +21,14 @@ gemfile: matrix: fast_finish: true exclude: - - rvm: 2.4.3 + - rvm: 2.4.4 gemfile: gemfiles/rails_4_0.gemfile - - rvm: 2.4.3 + - rvm: 2.4.4 gemfile: gemfiles/rails_4_1.gemfile - - rvm: 2.5.0 + - rvm: 2.5.1 gemfile: gemfiles/rails_4_0.gemfile - - rvm: 2.5.0 + - rvm: 2.5.1 gemfile: gemfiles/rails_4_1.gemfile - - rvm: ruby-head gemfile: gemfiles/rails_4_0.gemfile - rvm: ruby-head From 10084a928cff3b6f6bc450ae40dea9764a189c69 Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 08:22:44 +0200 Subject: [PATCH 05/27] Remove Ruby 2.2 from tests => EOL. --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d30a6986..032d0b58 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,4 @@ rvm: - - 2.2.10 - 2.3.7 - 2.4.4 - 2.5.1 From 685413cf9572463fd5fd63ee784ff9da6c764e31 Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 08:32:10 +0200 Subject: [PATCH 06/27] Bump version to 1.6 (because removing EOL Ruby 2.2) --- cucumber-rails.gemspec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index 3e72eb9c..e164973d 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -3,7 +3,7 @@ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__) Gem::Specification.new do |s| s.name = 'cucumber-rails' - s.version = '1.5.1' + s.version = '1.6.0' s.authors = ["Aslak Hellesøy", "Dennis Blöte", "Rob Holland"] s.description = "Cucumber Generator and Runtime for Rails" s.summary = "#{s.name}-#{s.version}" @@ -14,21 +14,21 @@ Gem::Specification.new do |s| s.add_runtime_dependency('capybara', ['>= 1.1.2', '< 4']) s.add_runtime_dependency('cucumber', ['>= 3.0.2', '< 4']) - s.add_runtime_dependency('nokogiri', '~> 1.5') + s.add_runtime_dependency('nokogiri', '~> 1.8') s.add_runtime_dependency('railties', ['>= 4', '< 6']) s.add_runtime_dependency('mime-types', ['>= 1.17', '< 4']) # Main development dependencies s.add_development_dependency('ammeter', ['>= 1.0.0', '!= 1.1.3']) s.add_development_dependency('appraisal', '>= 0.5.1') - s.add_development_dependency('aruba', '~> 0.14.2') + s.add_development_dependency('aruba', '>= 0.14.2') s.add_development_dependency('builder', ['>= 3.1.0', '< 4']) s.add_development_dependency('bundler', '>= 1.3.5') s.add_development_dependency('selenium-webdriver', '>= 3.4.1') s.add_development_dependency('database_cleaner', '>= 1.0.0') s.add_development_dependency('factory_girl', '>= 3.2') s.add_development_dependency('rake', '>= 0.9.2.2') - s.add_development_dependency('rspec', '~> 3.0') + s.add_development_dependency('rspec', '~> 3') s.add_development_dependency('rails') s.add_development_dependency('sqlite3') @@ -37,7 +37,7 @@ Gem::Specification.new do |s| s.add_development_dependency('rdoc', '>= 3.4') s.add_development_dependency('yard', '>= 0.8.7') - s.required_ruby_version = '>= 2.2.0' + s.required_ruby_version = '>= 2.3.0' s.rubygems_version = ">= 1.6.1" s.files = `git ls-files`.split("\n") s.test_files = `git ls-files -- {spec,features}/*`.split("\n") From dc6a5908e44eea4e02922a68544b4e52492e5f51 Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 08:36:08 +0200 Subject: [PATCH 07/27] Add rails 5.2 to appraisals. --- Appraisals | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Appraisals b/Appraisals index d4a939e6..a78d58ae 100644 --- a/Appraisals +++ b/Appraisals @@ -80,3 +80,17 @@ appraise "rails_5_1" do # Rails 5 requires database cleaner 1.1 gem "database_cleaner", ">= 1.1.0" end + +appraise "rails_5_2" do + gem "rails", "~> 5.2" + gem "railties", "~> 5.2" + gem "capybara", "~> 3" + gem "selenium-webdriver", "~> 3.11" + gem "geckodriver-helper", "~> 0.0.4" + gem "rspec-rails", "~> 3.7" + gem "sass-rails", "~> 5.0" + gem "coffee-rails", "~> 4.2.0" + gem "uglifier", "~> 4.1" + gem "sqlite3", "~> 1.3.13" + gem "database_cleaner", ">= 1.1" +end From 937d44c70e77e15141419606f60a824bd9acb4b2 Mon Sep 17 00:00:00 2001 From: Ryan Bigg Date: Wed, 18 Apr 2018 09:38:17 +1000 Subject: [PATCH 08/27] Bump geckodriver-helper version to 0.0.5 --- Appraisals | 12 ++++++------ gemfiles/rails_4_0.gemfile | 2 +- gemfiles/rails_4_1.gemfile | 2 +- gemfiles/rails_4_2.gemfile | 2 +- gemfiles/rails_5_0.gemfile | 4 ++-- gemfiles/rails_5_1.gemfile | 2 +- gemfiles/rails_5_2.gemfile | 8 ++++---- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Appraisals b/Appraisals index a78d58ae..d28d5b58 100644 --- a/Appraisals +++ b/Appraisals @@ -4,7 +4,7 @@ appraise "rails_4_0" do gem "railties", "~> 4.0.0" gem "capybara", "~> 2.0" gem "selenium-webdriver", "~> 3.4.1" - gem "geckodriver-helper", "~> 0.0.4" + gem "geckodriver-helper", "~> 0.0.5" gem "turn", "~> 0.9.6" gem "test-unit", '~> 3.1.5' gem "rspec-rails", "~> 3.1.0" @@ -23,7 +23,7 @@ appraise "rails_4_1" do gem "railties", "~> 4.1.0" gem "capybara", "~> 2.0" gem "selenium-webdriver", "~> 3.4.1" - gem "geckodriver-helper", "~> 0.0.4" + gem "geckodriver-helper", "~> 0.0.5" gem "rspec-rails", "~> 3.1.0" gem "sass-rails", "~> 4.0.0" gem "coffee-rails", "~> 4.0.0" @@ -39,7 +39,7 @@ appraise "rails_4_2" do gem "railties", "~> 4.2.1" gem "capybara", "~> 2.0" gem "selenium-webdriver", "~> 3.4.1" - gem "geckodriver-helper", "~> 0.0.4" + gem "geckodriver-helper", "~> 0.0.5" gem "rspec-rails", "~> 3.1.0" gem "sass-rails", "~> 5.0" gem "coffee-rails", "~> 4.1.0" @@ -55,7 +55,7 @@ appraise "rails_5_0" do gem "railties", "~> 5.0.0" gem "capybara", "~> 2.7.1" gem "selenium-webdriver", "~> 3.9.0" - gem "geckodriver-helper", "~> 0.0.4" + gem "geckodriver-helper", "~> 0.0.5" gem "rspec-rails", "~> 3.5.0" gem "sass-rails", "~> 5.0" gem "coffee-rails", "~> 4.2.0" @@ -71,7 +71,7 @@ appraise "rails_5_1" do gem "railties", "~> 5.1.0" gem "capybara", "~> 2.7.1" gem "selenium-webdriver", "~> 3.9.0" - gem "geckodriver-helper", "~> 0.0.4" + gem "geckodriver-helper", "~> 0.0.5" gem "rspec-rails", "~> 3.5.0" gem "sass-rails", "~> 5.0" gem "coffee-rails", "~> 4.2.0" @@ -86,7 +86,7 @@ appraise "rails_5_2" do gem "railties", "~> 5.2" gem "capybara", "~> 3" gem "selenium-webdriver", "~> 3.11" - gem "geckodriver-helper", "~> 0.0.4" + gem "geckodriver-helper", "~> 0.0.5" gem "rspec-rails", "~> 3.7" gem "sass-rails", "~> 5.0" gem "coffee-rails", "~> 4.2.0" diff --git a/gemfiles/rails_4_0.gemfile b/gemfiles/rails_4_0.gemfile index a930c497..de261954 100644 --- a/gemfiles/rails_4_0.gemfile +++ b/gemfiles/rails_4_0.gemfile @@ -7,7 +7,7 @@ gem "rails", "~> 4.0.0" gem "railties", "~> 4.0.0" gem "capybara", "~> 2.0" gem "selenium-webdriver", "~> 3.4.1" -gem "geckodriver-helper", "~> 0.0.4" +gem "geckodriver-helper", "~> 0.0.5" gem "turn", "~> 0.9.6" gem "test-unit", "~> 3.1.5" gem "rspec-rails", "~> 3.1.0" diff --git a/gemfiles/rails_4_1.gemfile b/gemfiles/rails_4_1.gemfile index 41b4b130..8e6fa68c 100644 --- a/gemfiles/rails_4_1.gemfile +++ b/gemfiles/rails_4_1.gemfile @@ -7,7 +7,7 @@ gem "rails", "~> 4.1.0" gem "railties", "~> 4.1.0" gem "capybara", "~> 2.0" gem "selenium-webdriver", "~> 3.4.1" -gem "geckodriver-helper", "~> 0.0.4" +gem "geckodriver-helper", "~> 0.0.5" gem "rspec-rails", "~> 3.1.0" gem "sass-rails", "~> 4.0.0" gem "coffee-rails", "~> 4.0.0" diff --git a/gemfiles/rails_4_2.gemfile b/gemfiles/rails_4_2.gemfile index 748f55c6..808cd6a1 100644 --- a/gemfiles/rails_4_2.gemfile +++ b/gemfiles/rails_4_2.gemfile @@ -6,7 +6,7 @@ gem "rails", "~> 4.2.1" gem "railties", "~> 4.2.1" gem "capybara", "~> 2.0" gem "selenium-webdriver", "~> 3.4.1" -gem "geckodriver-helper", "~> 0.0.4" +gem "geckodriver-helper", "~> 0.0.5" gem "rspec-rails", "~> 3.1.0" gem "sass-rails", "~> 5.0" gem "coffee-rails", "~> 4.1.0" diff --git a/gemfiles/rails_5_0.gemfile b/gemfiles/rails_5_0.gemfile index 80ebd01f..21689579 100644 --- a/gemfiles/rails_5_0.gemfile +++ b/gemfiles/rails_5_0.gemfile @@ -6,7 +6,7 @@ gem "rails", "~> 5.0.0" gem "railties", "~> 5.0.0" gem "capybara", "~> 2.7.1" gem "selenium-webdriver", "~> 3.9.0" -gem "geckodriver-helper", "~> 0.0.4" +gem "geckodriver-helper", "~> 0.0.5" gem "rspec-rails", "~> 3.5.0" gem "sass-rails", "~> 5.0" gem "coffee-rails", "~> 4.2.0" @@ -15,4 +15,4 @@ gem "uglifier", "~> 2.7.2" gem "sqlite3", "~> 1.3.7" gem "database_cleaner", ">= 1.1.0" -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_5_1.gemfile b/gemfiles/rails_5_1.gemfile index 0f16cd27..2911becd 100644 --- a/gemfiles/rails_5_1.gemfile +++ b/gemfiles/rails_5_1.gemfile @@ -6,7 +6,7 @@ gem "rails", "~> 5.1.0" gem "railties", "~> 5.1.0" gem "capybara", "~> 2.7.1" gem "selenium-webdriver", "~> 3.9.0" -gem "geckodriver-helper", "~> 0.0.4" +gem "geckodriver-helper", "~> 0.0.5" gem "rspec-rails", "~> 3.5.0" gem "sass-rails", "~> 5.0" gem "coffee-rails", "~> 4.2.0" diff --git a/gemfiles/rails_5_2.gemfile b/gemfiles/rails_5_2.gemfile index a048d646..442d5a59 100644 --- a/gemfiles/rails_5_2.gemfile +++ b/gemfiles/rails_5_2.gemfile @@ -4,14 +4,14 @@ source "https://rubygems.org" gem "rails", "~> 5.2" gem "railties", "~> 5.2" -gem "capybara", "~> 3.0" +gem "capybara", "~> 3" gem "selenium-webdriver", "~> 3.11" -gem "geckodriver-helper", "~> 0.0.4" +gem "geckodriver-helper", "~> 0.0.5" gem "rspec-rails", "~> 3.7" gem "sass-rails", "~> 5.0" -gem "coffee-rails", "~> 4.2" +gem "coffee-rails", "~> 4.2.0" gem "uglifier", "~> 4.1" gem "sqlite3", "~> 1.3.13" -gem "database_cleaner", ">= 1.6.2" +gem "database_cleaner", ">= 1.1" gemspec path: "../" From 1ef3b5189dce9da7c3b958ac3c7d255e71fe8c80 Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 06:08:27 +0200 Subject: [PATCH 09/27] Relax railites to allow version 5.2. --- cucumber-rails.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index 4a3a4489..21c3c082 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -15,7 +15,7 @@ Gem::Specification.new do |s| s.add_runtime_dependency('capybara', ['>= 1.1.2', '< 3']) s.add_runtime_dependency('cucumber', ['>= 3.0.2', '< 4']) s.add_runtime_dependency('nokogiri', '~> 1.5') - s.add_runtime_dependency('railties', ['>= 4', '< 5.2']) + s.add_runtime_dependency('railties', ['>= 4', '<= 5.2']) s.add_runtime_dependency('mime-types', ['>= 1.17', '< 4']) # Main development dependencies From 0775efbf4690f1f6443fa354d91116f3c89c3b39 Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 06:15:06 +0200 Subject: [PATCH 10/27] Add gemfile for rails 5.2. --- .travis.yml | 1 + gemfiles/rails_5_2.gemfile | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 gemfiles/rails_5_2.gemfile diff --git a/.travis.yml b/.travis.yml index 15ada837..4c38f8e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,7 @@ branches: - master gemfile: + - gemfiles/rails_5_2.gemfile - gemfiles/rails_5_1.gemfile - gemfiles/rails_5_0.gemfile - gemfiles/rails_4_2.gemfile diff --git a/gemfiles/rails_5_2.gemfile b/gemfiles/rails_5_2.gemfile new file mode 100644 index 00000000..6d8df547 --- /dev/null +++ b/gemfiles/rails_5_2.gemfile @@ -0,0 +1,17 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "rails", "~> 5.2.0" +gem "railties", "~> 5.2.0" +gem "capybara", "~> 2.7.1" +gem "selenium-webdriver", "~> 3.9.0" +gem "geckodriver-helper", "~> 0.0.4" +gem "rspec-rails", "~> 3.5.0" +gem "sass-rails", "~> 5.0" +gem "coffee-rails", "~> 4.2.0" +gem "uglifier", "~> 3.2.0" +gem "sqlite3", "~> 1.3.13" +gem "database_cleaner", ">= 1.1.0" + +gemspec path: "../" From 8362a2746462c623eca30b824331257aa4907c50 Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 08:14:23 +0200 Subject: [PATCH 11/27] Update 5.2 gemspec dependencies to latest available ones. Allow railties < 6. --- cucumber-rails.gemspec | 6 +++--- gemfiles/rails_5_2.gemfile | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index 21c3c082..3e72eb9c 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -3,7 +3,7 @@ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__) Gem::Specification.new do |s| s.name = 'cucumber-rails' - s.version = '1.5.0' + s.version = '1.5.1' s.authors = ["Aslak Hellesøy", "Dennis Blöte", "Rob Holland"] s.description = "Cucumber Generator and Runtime for Rails" s.summary = "#{s.name}-#{s.version}" @@ -12,10 +12,10 @@ Gem::Specification.new do |s| s.license = 'MIT' - s.add_runtime_dependency('capybara', ['>= 1.1.2', '< 3']) + s.add_runtime_dependency('capybara', ['>= 1.1.2', '< 4']) s.add_runtime_dependency('cucumber', ['>= 3.0.2', '< 4']) s.add_runtime_dependency('nokogiri', '~> 1.5') - s.add_runtime_dependency('railties', ['>= 4', '<= 5.2']) + s.add_runtime_dependency('railties', ['>= 4', '< 6']) s.add_runtime_dependency('mime-types', ['>= 1.17', '< 4']) # Main development dependencies diff --git a/gemfiles/rails_5_2.gemfile b/gemfiles/rails_5_2.gemfile index 6d8df547..a048d646 100644 --- a/gemfiles/rails_5_2.gemfile +++ b/gemfiles/rails_5_2.gemfile @@ -2,16 +2,16 @@ source "https://rubygems.org" -gem "rails", "~> 5.2.0" -gem "railties", "~> 5.2.0" -gem "capybara", "~> 2.7.1" -gem "selenium-webdriver", "~> 3.9.0" +gem "rails", "~> 5.2" +gem "railties", "~> 5.2" +gem "capybara", "~> 3.0" +gem "selenium-webdriver", "~> 3.11" gem "geckodriver-helper", "~> 0.0.4" -gem "rspec-rails", "~> 3.5.0" +gem "rspec-rails", "~> 3.7" gem "sass-rails", "~> 5.0" -gem "coffee-rails", "~> 4.2.0" -gem "uglifier", "~> 3.2.0" +gem "coffee-rails", "~> 4.2" +gem "uglifier", "~> 4.1" gem "sqlite3", "~> 1.3.13" -gem "database_cleaner", ">= 1.1.0" +gem "database_cleaner", ">= 1.6.2" gemspec path: "../" From a6b99eacc8b8bf212803b0ce30dacb7a3db4a385 Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 08:20:07 +0200 Subject: [PATCH 12/27] Make travis use latest ruby releases. --- .travis.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4c38f8e7..d30a6986 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ rvm: - - 2.2.9 - - 2.3.6 - - 2.4.3 - - 2.5.0 + - 2.2.10 + - 2.3.7 + - 2.4.4 + - 2.5.1 - ruby-head # whitelist @@ -21,15 +21,14 @@ gemfile: matrix: fast_finish: true exclude: - - rvm: 2.4.3 + - rvm: 2.4.4 gemfile: gemfiles/rails_4_0.gemfile - - rvm: 2.4.3 + - rvm: 2.4.4 gemfile: gemfiles/rails_4_1.gemfile - - rvm: 2.5.0 + - rvm: 2.5.1 gemfile: gemfiles/rails_4_0.gemfile - - rvm: 2.5.0 + - rvm: 2.5.1 gemfile: gemfiles/rails_4_1.gemfile - - rvm: ruby-head gemfile: gemfiles/rails_4_0.gemfile - rvm: ruby-head From bd504a605d581c97f8f8ccad51789386b0313fba Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 08:22:44 +0200 Subject: [PATCH 13/27] Remove Ruby 2.2 from tests => EOL. --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d30a6986..032d0b58 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,4 @@ rvm: - - 2.2.10 - 2.3.7 - 2.4.4 - 2.5.1 From 4cd9f63fa556dab0160ea88b56be5f710521c86a Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 08:32:10 +0200 Subject: [PATCH 14/27] Bump version to 1.6 (because removing EOL Ruby 2.2) --- cucumber-rails.gemspec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index 3e72eb9c..e164973d 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -3,7 +3,7 @@ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__) Gem::Specification.new do |s| s.name = 'cucumber-rails' - s.version = '1.5.1' + s.version = '1.6.0' s.authors = ["Aslak Hellesøy", "Dennis Blöte", "Rob Holland"] s.description = "Cucumber Generator and Runtime for Rails" s.summary = "#{s.name}-#{s.version}" @@ -14,21 +14,21 @@ Gem::Specification.new do |s| s.add_runtime_dependency('capybara', ['>= 1.1.2', '< 4']) s.add_runtime_dependency('cucumber', ['>= 3.0.2', '< 4']) - s.add_runtime_dependency('nokogiri', '~> 1.5') + s.add_runtime_dependency('nokogiri', '~> 1.8') s.add_runtime_dependency('railties', ['>= 4', '< 6']) s.add_runtime_dependency('mime-types', ['>= 1.17', '< 4']) # Main development dependencies s.add_development_dependency('ammeter', ['>= 1.0.0', '!= 1.1.3']) s.add_development_dependency('appraisal', '>= 0.5.1') - s.add_development_dependency('aruba', '~> 0.14.2') + s.add_development_dependency('aruba', '>= 0.14.2') s.add_development_dependency('builder', ['>= 3.1.0', '< 4']) s.add_development_dependency('bundler', '>= 1.3.5') s.add_development_dependency('selenium-webdriver', '>= 3.4.1') s.add_development_dependency('database_cleaner', '>= 1.0.0') s.add_development_dependency('factory_girl', '>= 3.2') s.add_development_dependency('rake', '>= 0.9.2.2') - s.add_development_dependency('rspec', '~> 3.0') + s.add_development_dependency('rspec', '~> 3') s.add_development_dependency('rails') s.add_development_dependency('sqlite3') @@ -37,7 +37,7 @@ Gem::Specification.new do |s| s.add_development_dependency('rdoc', '>= 3.4') s.add_development_dependency('yard', '>= 0.8.7') - s.required_ruby_version = '>= 2.2.0' + s.required_ruby_version = '>= 2.3.0' s.rubygems_version = ">= 1.6.1" s.files = `git ls-files`.split("\n") s.test_files = `git ls-files -- {spec,features}/*`.split("\n") From 3b88c6b0e8b05d753257d57fd2867a229725990a Mon Sep 17 00:00:00 2001 From: Bijan Date: Thu, 12 Apr 2018 08:36:08 +0200 Subject: [PATCH 15/27] Add rails 5.2 to appraisals. --- Appraisals | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Appraisals b/Appraisals index d4a939e6..a78d58ae 100644 --- a/Appraisals +++ b/Appraisals @@ -80,3 +80,17 @@ appraise "rails_5_1" do # Rails 5 requires database cleaner 1.1 gem "database_cleaner", ">= 1.1.0" end + +appraise "rails_5_2" do + gem "rails", "~> 5.2" + gem "railties", "~> 5.2" + gem "capybara", "~> 3" + gem "selenium-webdriver", "~> 3.11" + gem "geckodriver-helper", "~> 0.0.4" + gem "rspec-rails", "~> 3.7" + gem "sass-rails", "~> 5.0" + gem "coffee-rails", "~> 4.2.0" + gem "uglifier", "~> 4.1" + gem "sqlite3", "~> 1.3.13" + gem "database_cleaner", ">= 1.1" +end From e942fd11f46f4aa907de27873f0fae3f3d3e9fb3 Mon Sep 17 00:00:00 2001 From: Ryan Bigg Date: Wed, 18 Apr 2018 09:43:10 +1000 Subject: [PATCH 16/27] factory_girl -> factory_bot --- cucumber-rails.gemspec | 2 +- features/choose_javascript_database_strategy.feature | 2 +- features/emulate_javascript.feature | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index e164973d..ac4b1194 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -26,7 +26,7 @@ Gem::Specification.new do |s| s.add_development_dependency('bundler', '>= 1.3.5') s.add_development_dependency('selenium-webdriver', '>= 3.4.1') s.add_development_dependency('database_cleaner', '>= 1.0.0') - s.add_development_dependency('factory_girl', '>= 3.2') + s.add_development_dependency('factory_bot', '>= 3.2') s.add_development_dependency('rake', '>= 0.9.2.2') s.add_development_dependency('rspec', '~> 3') s.add_development_dependency('rails') diff --git a/features/choose_javascript_database_strategy.feature b/features/choose_javascript_database_strategy.feature index 38d93966..68d2528a 100644 --- a/features/choose_javascript_database_strategy.feature +++ b/features/choose_javascript_database_strategy.feature @@ -3,7 +3,7 @@ Feature: Choose javascript database strategy When running a scenario with the @javascript tag, Capybara will fire up a web server in the same process in a separate thread to your cukes. By default, this means ActiveRecord will give it a separate database connection, which in turn means data you put into your database from - Cucumber step definitions (e.g. using FactoryGirl) won't be visible to the web server + Cucumber step definitions (e.g. using FactoryBot) won't be visible to the web server until the database transaction is committed. So if you use a transaction strategy for cleaning up your database at the end of a scenario, diff --git a/features/emulate_javascript.feature b/features/emulate_javascript.feature index 6b2b08f5..6e7acf6e 100644 --- a/features/emulate_javascript.feature +++ b/features/emulate_javascript.feature @@ -16,12 +16,12 @@ Feature: Emulate Javascript And I write to "features/step_definitions/s.rb" with: """ Given /^there is a widget named "([^"]*)"$/ do |name| - FactoryGirl.create(:widget, name: name) + FactoryBot.create(:widget, :name => name) end """ And I write to "features/support/factories.rb" with: """ - FactoryGirl.define do + FactoryBot.define do factory :widget do name 'testwidget' end @@ -73,12 +73,12 @@ Feature: Emulate Javascript And I write to "features/step_definitions/s.rb" with: """ Given /^there is a widget named "([^"]*)"$/ do |name| - FactoryGirl.create(:widget, name: name) + FactoryBot.create(:widget, :name => name) end """ And I write to "features/support/factories.rb" with: """ - FactoryGirl.define do + FactoryBot.define do factory :widget do name 'testwidget' end @@ -91,4 +91,4 @@ Feature: Emulate Javascript 1 scenario (1 passed) 8 steps (8 passed) """ - \ No newline at end of file + From 4502e059ccdbd287f6405fcf35740037f8778eaa Mon Sep 17 00:00:00 2001 From: Ryan Bigg Date: Wed, 18 Apr 2018 10:02:08 +1000 Subject: [PATCH 17/27] Fix other occurrences of factory_girl --- features/step_definitions/cucumber_rails_steps.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/features/step_definitions/cucumber_rails_steps.rb b/features/step_definitions/cucumber_rails_steps.rb index 7f0f5d9c..6c9425af 100644 --- a/features/step_definitions/cucumber_rails_steps.rb +++ b/features/step_definitions/cucumber_rails_steps.rb @@ -27,7 +27,7 @@ def install_cucumber_rails(*options) gem 'geckodriver-helper', group: :test gem 'rspec-rails', group: :test gem 'database_cleaner', group: :test unless options.include?(:no_database_cleaner) - gem 'factory_girl', group: :test unless options.include?(:no_factory_girl) + gem 'factory_bot', group: :test unless options.include?(:no_factory_bot) # Newer versions of rake remove a method used by RSpec older versions # See https://stackoverflow.com/questions/35893584/nomethoderror-undefined-method-last-comment-after-upgrading-to-rake-11#35893625 if Gem::Version.new(RSpec::Support::Version::STRING) < Gem::Version.new('3.4.4') @@ -78,14 +78,14 @@ def fixture(path) Given /^I have created a new Rails app with no database and installed cucumber-rails$/ do rails_new args: '--skip-active-record' - install_cucumber_rails :no_database_cleaner, :no_factory_girl + install_cucumber_rails :no_database_cleaner, :no_factory_bot overwrite_file('features/support/env.rb', "require 'cucumber/rails'\n") create_web_steps end Given /^I have created a new Rails app "(.*?)" with no database and installed cucumber\-rails$/ do |app_name| rails_new name: app_name, args: '--skip-active-record' - install_cucumber_rails :no_database_cleaner, :no_factory_girl + install_cucumber_rails :no_database_cleaner, :no_factory_bot overwrite_file('features/support/env.rb', "require 'cucumber/rails'\n") create_web_steps end @@ -100,7 +100,6 @@ def fixture(path) Capybara.register_driver :selenium do |app| browser_options = ::Selenium::WebDriver::Firefox::Options.new() browser_options.args << '--headless' - Capybara::Selenium::Driver.new(app, browser: :firefox, options: browser_options) end } From 286f37fdce0a0e6ea460edd0d26e7bff810ba576 Mon Sep 17 00:00:00 2001 From: Ryan Bigg Date: Thu, 19 Apr 2018 16:28:50 +1000 Subject: [PATCH 18/27] Make click_with_javascript_emulation take any args During the "Delete Widgets" test, this happens: When I follow "Destroy" # features/step_definitions/web_steps.rb:48 wrong number of arguments (given 2, expected 0) (ArgumentError) /Users/ryanbigg/code/gems/cucumber-rails/lib/cucumber/rails/capybara/javascript_emulation.rb:12:in `click_with_javascript_emulation' /usr/local/Cellar/asdf/0.4.1/installs/ruby/2.4.4/lib/ruby/gems/2.4.0/gems/capybara-3.0.2/lib/capybara/node/element.rb:133:in `block in click' /usr/local/Cellar/asdf/0.4.1/installs/ruby/2.4.4/lib/ruby/gems/2.4.0/gems/capybara-3.0.2/lib/capybara/node/base.rb:83:in `synchronize' /usr/local/Cellar/asdf/0.4.1/installs/ruby/2.4.4/lib/ruby/gems/2.4.0/gems/capybara-3.0.2/lib/capybara/node/element.rb:133:in `click' /usr/local/Cellar/asdf/0.4.1/installs/ruby/2.4.4/lib/ruby/gems/2.4.0/gems/capybara-3.0.2/lib/capybara/node/actions.rb:41:in `click_link' /usr/local/Cellar/asdf/0.4.1/installs/ruby/2.4.4/lib/ruby/gems/2.4.0/gems/capybara-3.0.2/lib/capybara/session.rb:740:in `block (2 levels) in ' /usr/local/Cellar/asdf/0.4.1/installs/ruby/2.4.4/lib/ruby/gems/2.4.0/gems/capybara-3.0.2/lib/capybara/dsl.rb:51:in `block (2 levels) in ' /Users/ryanbigg/code/gems/cucumber-rails/tmp/aruba/test_app/features/step_definitions/web_steps.rb:49:in `block in
' This is because Capybara 3 now passes two additional arguments to Cucumber's method. But this Cucumber method needs to do nothing with those arguments other than accept them. This will make the "Deleting a widget" test pass once again. --- lib/cucumber/rails/capybara/javascript_emulation.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cucumber/rails/capybara/javascript_emulation.rb b/lib/cucumber/rails/capybara/javascript_emulation.rb index 95752342..8202b530 100644 --- a/lib/cucumber/rails/capybara/javascript_emulation.rb +++ b/lib/cucumber/rails/capybara/javascript_emulation.rb @@ -9,7 +9,7 @@ def self.included(base) end end - def click_with_javascript_emulation + def click_with_javascript_emulation(*) if link_with_non_get_http_method? ::Capybara::RackTest::Form.new(driver, js_form(element_node.document, self[:href], emulated_method)).submit(self) else From f11ad2d2cd6f33036732b0341875e00cf3e726e2 Mon Sep 17 00:00:00 2001 From: Ryan Bigg Date: Thu, 19 Apr 2018 14:50:49 +1000 Subject: [PATCH 19/27] install the latest version of firefox --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 032d0b58..d6db294a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,9 @@ rvm: - 2.5.1 - ruby-head +addons: + firefox: latest + # whitelist branches: only: From 6f83768434ee390b73bafa7b7b74638374a563d0 Mon Sep 17 00:00:00 2001 From: Ryan Bigg Date: Thu, 19 Apr 2018 16:07:09 +1000 Subject: [PATCH 20/27] Report geckodriver version before running tests --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index d6db294a..600798b9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,3 +39,4 @@ matrix: - rvm: ruby-head before_install: gem update --remote bundler +before_script: geckodriver -V From c1a662642607d75b6985b5729b7b7190e04e2abe Mon Sep 17 00:00:00 2001 From: Andrew Walter Date: Fri, 20 Apr 2018 07:59:49 +1000 Subject: [PATCH 21/27] Fixed bootsnap issues on Rails 5.2 --- features/no_database.feature | 15 ++------------- .../step_definitions/cucumber_rails_steps.rb | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/features/no_database.feature b/features/no_database.feature index b97202a5..7031bbb4 100644 --- a/features/no_database.feature +++ b/features/no_database.feature @@ -26,19 +26,8 @@ Feature: No Database """ require 'cucumber/rails' """ - # Remove DatabaseCleaner and SQLite - And I write to "Gemfile" with: - """ - source 'http://rubygems.org' - gem 'rails' - gem "cucumber-rails", group: :test, path: "../../.." - gem "capybara", group: :test - gem "rspec-rails", group: :test - if RUBY_VERSION >= '2.0.0' - gem 'sass-rails' - gem 'uglifier' - end - """ + And I remove the 'database_cleaner' gem from the Gemfile + And I remove the 'sqlite' gem from the Gemfile And I write to "app/controllers/posts_controller.rb" with: """ class PostsController < ApplicationController diff --git a/features/step_definitions/cucumber_rails_steps.rb b/features/step_definitions/cucumber_rails_steps.rb index 6c9425af..1e42cf3c 100644 --- a/features/step_definitions/cucumber_rails_steps.rb +++ b/features/step_definitions/cucumber_rails_steps.rb @@ -118,3 +118,20 @@ def fixture(path) step 'the exit status should be 0' step 'the output should contain:', string end + +Given("I remove the {string} gem from the Gemfile") do |gem_name| + run 'pwd' + app_path = last_command_started.output.strip + gemfile_path = File.join(app_path, 'Gemfile') + + content = File.open(gemfile_path, 'r').readlines + new_content = [] + + content.each do |line| + next if line =~ /gem ["|']#{gem_name}["|'].*/ + + new_content << line + end + + overwrite_file(gemfile_path, new_content.join("\r\n")) +end \ No newline at end of file From 8fb40409f751c4f3e449710702469c39f6330de3 Mon Sep 17 00:00:00 2001 From: Andrew Walter Date: Fri, 20 Apr 2018 18:19:50 +1000 Subject: [PATCH 22/27] Switched back to new hash key assignment syntax. --- features/emulate_javascript.feature | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/emulate_javascript.feature b/features/emulate_javascript.feature index 6e7acf6e..14b55237 100644 --- a/features/emulate_javascript.feature +++ b/features/emulate_javascript.feature @@ -16,7 +16,7 @@ Feature: Emulate Javascript And I write to "features/step_definitions/s.rb" with: """ Given /^there is a widget named "([^"]*)"$/ do |name| - FactoryBot.create(:widget, :name => name) + FactoryBot.create(:widget, name: name) end """ And I write to "features/support/factories.rb" with: @@ -73,7 +73,7 @@ Feature: Emulate Javascript And I write to "features/step_definitions/s.rb" with: """ Given /^there is a widget named "([^"]*)"$/ do |name| - FactoryBot.create(:widget, :name => name) + FactoryBot.create(:widget, name: name) end """ And I write to "features/support/factories.rb" with: From 1a85e85f0fbdddbb8c845dd1753b78892a17897d Mon Sep 17 00:00:00 2001 From: Andrew Walter Date: Fri, 20 Apr 2018 18:20:41 +1000 Subject: [PATCH 23/27] Re-added support for Ruby 2.2 --- .travis.yml | 1 + cucumber-rails.gemspec | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 600798b9..3e813d89 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ rvm: + - 2.2.9 - 2.3.7 - 2.4.4 - 2.5.1 diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index ac4b1194..481d63d8 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -37,7 +37,7 @@ Gem::Specification.new do |s| s.add_development_dependency('rdoc', '>= 3.4') s.add_development_dependency('yard', '>= 0.8.7') - s.required_ruby_version = '>= 2.3.0' + s.required_ruby_version = '>= 2.2.0' s.rubygems_version = ">= 1.6.1" s.files = `git ls-files`.split("\n") s.test_files = `git ls-files -- {spec,features}/*`.split("\n") From dee9b75d618b305b27c897b65f4d1d489712c036 Mon Sep 17 00:00:00 2001 From: Andrew Walter Date: Fri, 20 Apr 2018 18:21:39 +1000 Subject: [PATCH 24/27] Switched aruba dependency back to "strict" versioning ('~>' rather than '>='). --- cucumber-rails.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index 481d63d8..82b987a5 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -21,7 +21,7 @@ Gem::Specification.new do |s| # Main development dependencies s.add_development_dependency('ammeter', ['>= 1.0.0', '!= 1.1.3']) s.add_development_dependency('appraisal', '>= 0.5.1') - s.add_development_dependency('aruba', '>= 0.14.2') + s.add_development_dependency('aruba', '~> 0.14.2') s.add_development_dependency('builder', ['>= 3.1.0', '< 4']) s.add_development_dependency('bundler', '>= 1.3.5') s.add_development_dependency('selenium-webdriver', '>= 3.4.1') From eab831a07b66e35f154d4d0d23ef540386f38137 Mon Sep 17 00:00:00 2001 From: Andrew Walter Date: Fri, 20 Apr 2018 18:38:44 +1000 Subject: [PATCH 25/27] CI: force failed `geckodriver -V` commands to retry once. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3e813d89..420b4ab2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,4 +40,4 @@ matrix: - rvm: ruby-head before_install: gem update --remote bundler -before_script: geckodriver -V +before_script: geckodriver -V || geckodriver -V From 9731f9b9e76eff60de6e0c6b8a61520402e88170 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 20 Apr 2018 19:20:36 +1000 Subject: [PATCH 26/27] Revert CI: force failed `geckodriver -V` commands to retry once. (eab831a) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 420b4ab2..3e813d89 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,4 +40,4 @@ matrix: - rvm: ruby-head before_install: gem update --remote bundler -before_script: geckodriver -V || geckodriver -V +before_script: geckodriver -V From c480e620c354e6c4a60fb7aab0c6c6f0709cf6e7 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 21 Apr 2018 00:42:13 +1000 Subject: [PATCH 27/27] Fixed RSpec versioning --- cucumber-rails.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index 82b987a5..7636c764 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -28,7 +28,7 @@ Gem::Specification.new do |s| s.add_development_dependency('database_cleaner', '>= 1.0.0') s.add_development_dependency('factory_bot', '>= 3.2') s.add_development_dependency('rake', '>= 0.9.2.2') - s.add_development_dependency('rspec', '~> 3') + s.add_development_dependency('rspec', '~> 3.0') s.add_development_dependency('rails') s.add_development_dependency('sqlite3')