diff --git a/.github/workflows/super_diff.yml b/.github/workflows/super_diff.yml index f72f7ee1..eafcf776 100644 --- a/.github/workflows/super_diff.yml +++ b/.github/workflows/super_diff.yml @@ -9,14 +9,17 @@ jobs: - 2.5 - 2.6 - 2.7 - gemfile: - - gemfiles/rails_5_0.gemfile - - gemfiles/rails_5_1.gemfile - - gemfiles/rails_5_2.gemfile - - gemfiles/rails_6_0.gemfile - - gemfiles/no_rails.gemfile + rails_appraisal: + - rails_5_0 + - rails_5_1 + - rails_5_2 + - rails_6_0 + - no_rails + rspec_appraisal: + - rspec_lt_3_10 + - rspec_gte_3_10 env: - BUNDLE_GEMFILE: ${{ matrix.gemfile }} + BUNDLE_GEMFILE: gemfiles/${{ matrix.rails_appraisal }}_${{ matrix.rspec_appraisal }}.gemfile JAVA_OPTS: "--add-opens java.base/sun.nio.ch=org.jruby.dist --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/javax.crypto=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=java.base/java.io=org.jruby.dist" steps: - uses: actions/checkout@v2 @@ -28,7 +31,7 @@ jobs: - uses: actions/cache@v2 with: path: vendor/bundle - key: v1-rubygems-local-${{ runner.os }}-${{ matrix.ruby }}-${{ hashFiles(format('{0}.lock', matrix.gemfile)) }} + key: v1-rubygems-local-${{ runner.os }}-${{ matrix.ruby }}-${{ hashFiles(format('gemfiles/{0}_{1}.gemfile.lock', matrix.rails_appraisal, matrix.rspec_appraisal)) }} - name: Install dependencies run: bin/ci/install - name: Run tests diff --git a/Appraisals b/Appraisals index bd6a1223..f34f0e9c 100644 --- a/Appraisals +++ b/Appraisals @@ -1,37 +1,62 @@ -common_dependencies = proc do +rails_dependencies = proc do gem "activerecord-jdbcsqlite3-adapter", platform: :jruby gem "jdbc-sqlite3", platform: :jruby end -appraise "rails_5_0" do - instance_eval(&common_dependencies) +appraisals = { + rails_5_0: proc { + instance_eval(&rails_dependencies) - gem "activerecord", "~> 5.0.0" - gem "sqlite3", "~> 1.3.6", platform: [:ruby, :mswin, :mingw] -end - -appraise "rails_5_1" do - instance_eval(&common_dependencies) - - gem "activerecord", "~> 5.1.0" - gem "sqlite3", "~> 1.3.6", platform: [:ruby, :mswin, :mingw] -end - -appraise "rails_5_2" do - instance_eval(&common_dependencies) - - gem "activerecord", "~> 5.2.0" - gem "sqlite3", "~> 1.3.6", platform: [:ruby, :mswin, :mingw] -end + gem "activerecord", "~> 5.0.0" + gem "sqlite3", "~> 1.3.6", platform: [:ruby, :mswin, :mingw] + }, + rails_5_1: proc { + instance_eval(&rails_dependencies) -appraise "no_rails" do -end + gem "activerecord", "~> 5.1.0" + gem "sqlite3", "~> 1.3.6", platform: [:ruby, :mswin, :mingw] + }, + rails_5_2: proc { + instance_eval(&rails_dependencies) -if Gem::Requirement.new(">= 2.5.0").satisfied_by?(Gem::Version.new(RUBY_VERSION)) - appraise "rails_6_0" do - instance_eval(&common_dependencies) + gem "activerecord", "~> 5.2.0" + gem "sqlite3", "~> 1.3.6", platform: [:ruby, :mswin, :mingw] + }, + rails_6_0: proc { + instance_eval(&rails_dependencies) gem "activerecord", "~> 6.0" gem "sqlite3", "~> 1.4.0", platform: [:ruby, :mswin, :mingw] + }, + no_rails: proc {}, + rspec_lt_3_10: proc { + gem "rspec", "< 3.10" + }, + rspec_gte_3_10: proc { + gem "rspec", ">= 3.10", "< 4" + }, +} + +rails_appraisals = [ + :rails_5_0, + :rails_5_1, + :rails_5_2, + :no_rails, +] +if Gem::Requirement.new(">= 2.5.0").satisfied_by?(Gem::Version.new(RUBY_VERSION)) + rails_appraisals << :rails_6_0 +end + +rspec_appraisals = [ + :rspec_lt_3_10, + :rspec_gte_3_10, +] + +rails_appraisals.each do |rails_appraisal| + rspec_appraisals.each do |rspec_appraisal| + appraise "#{rails_appraisal}_#{rspec_appraisal}" do + instance_eval(&appraisals.fetch(rails_appraisal)) + instance_eval(&appraisals.fetch(rspec_appraisal)) + end end end diff --git a/Gemfile b/Gemfile index bc42e0c3..9c60432d 100644 --- a/Gemfile +++ b/Gemfile @@ -9,7 +9,6 @@ gem "childprocess" gem "pry-byebug", platform: :mri gem "pry-nav", platform: :jruby gem "rake" -gem "rspec" gem "rubocop" gemspec diff --git a/gemfiles/no_rails.gemfile.lock b/gemfiles/no_rails.gemfile.lock index a9992eb2..d37be7fe 100644 --- a/gemfiles/no_rails.gemfile.lock +++ b/gemfiles/no_rails.gemfile.lock @@ -18,7 +18,7 @@ GEM byebug (11.1.3) childprocess (4.0.0) coderay (1.1.3) - diff-lcs (1.4.2) + diff-lcs (1.4.4) method_source (1.0.0) parallel (1.19.2) parser (2.7.1.4) @@ -35,19 +35,19 @@ GEM rake (13.0.1) regexp_parser (1.7.1) rexml (3.2.4) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.2) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.2) + 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.1) + 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.3) + rspec-support (~> 3.10.0) + rspec-support (3.10.0) rubocop (0.86.0) parallel (~> 1.10) parser (>= 2.7.0.1) diff --git a/gemfiles/no_rails_rspec_gte_3_10.gemfile b/gemfiles/no_rails_rspec_gte_3_10.gemfile new file mode 100644 index 00000000..7f68bdef --- /dev/null +++ b/gemfiles/no_rails_rspec_gte_3_10.gemfile @@ -0,0 +1,13 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "childprocess" +gem "pry-byebug", platform: :mri +gem "pry-nav", platform: :jruby +gem "rake" +gem "rubocop" +gem "rspec", ">= 3.10", "< 4" + +gemspec path: "../" diff --git a/gemfiles/no_rails_rspec_gte_3_10.gemfile.lock b/gemfiles/no_rails_rspec_gte_3_10.gemfile.lock new file mode 100644 index 00000000..8b1364d3 --- /dev/null +++ b/gemfiles/no_rails_rspec_gte_3_10.gemfile.lock @@ -0,0 +1,81 @@ +PATH + remote: .. + specs: + super_diff (0.5.3) + attr_extras (>= 6.2.4) + diff-lcs + patience_diff + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.3.0) + bundler + rake + thor (>= 0.14.0) + ast (2.4.1) + attr_extras (6.2.4) + byebug (11.1.3) + childprocess (4.0.0) + coderay (1.1.3) + diff-lcs (1.4.4) + method_source (1.0.0) + parallel (1.19.2) + parser (2.7.1.4) + ast (~> 2.4.1) + patience_diff (1.1.0) + trollop (~> 1.16) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.9.0) + byebug (~> 11.0) + pry (~> 0.13.0) + rainbow (3.0.0) + rake (13.0.1) + regexp_parser (1.7.1) + rexml (3.2.4) + 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.10.0) + rspec-mocks (3.10.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.0) + rubocop (0.89.1) + parallel (~> 1.10) + parser (>= 2.7.1.1) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.3.0, < 1.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (0.3.0) + parser (>= 2.7.1.4) + ruby-progressbar (1.10.1) + thor (1.0.1) + trollop (1.16.2) + unicode-display_width (1.7.0) + +PLATFORMS + ruby + +DEPENDENCIES + appraisal + childprocess + pry-byebug + pry-nav + rake + rspec (>= 3.10, < 4) + rubocop + super_diff! + +BUNDLED WITH + 2.1.4 diff --git a/gemfiles/no_rails.gemfile b/gemfiles/no_rails_rspec_lt_3_10.gemfile similarity index 90% rename from gemfiles/no_rails.gemfile rename to gemfiles/no_rails_rspec_lt_3_10.gemfile index bc224a96..f4d49cd2 100644 --- a/gemfiles/no_rails.gemfile +++ b/gemfiles/no_rails_rspec_lt_3_10.gemfile @@ -7,7 +7,7 @@ gem "childprocess" gem "pry-byebug", platform: :mri gem "pry-nav", platform: :jruby gem "rake" -gem "rspec" gem "rubocop" +gem "rspec", "< 3.10" gemspec path: "../" diff --git a/gemfiles/no_rails_rspec_lt_3_10.gemfile.lock b/gemfiles/no_rails_rspec_lt_3_10.gemfile.lock new file mode 100644 index 00000000..912b8634 --- /dev/null +++ b/gemfiles/no_rails_rspec_lt_3_10.gemfile.lock @@ -0,0 +1,81 @@ +PATH + remote: .. + specs: + super_diff (0.5.3) + attr_extras (>= 6.2.4) + diff-lcs + patience_diff + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.3.0) + bundler + rake + thor (>= 0.14.0) + ast (2.4.1) + attr_extras (6.2.4) + byebug (11.1.3) + childprocess (4.0.0) + coderay (1.1.3) + diff-lcs (1.4.4) + method_source (1.0.0) + parallel (1.19.2) + parser (2.7.1.4) + ast (~> 2.4.1) + patience_diff (1.1.0) + trollop (~> 1.16) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.9.0) + byebug (~> 11.0) + pry (~> 0.13.0) + rainbow (3.0.0) + rake (13.0.1) + regexp_parser (1.7.1) + rexml (3.2.4) + rspec (3.9.0) + rspec-core (~> 3.9.0) + rspec-expectations (~> 3.9.0) + rspec-mocks (~> 3.9.0) + rspec-core (3.9.2) + rspec-support (~> 3.9.3) + rspec-expectations (3.9.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.9.0) + rspec-mocks (3.9.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.9.0) + rspec-support (3.9.3) + rubocop (0.89.1) + parallel (~> 1.10) + parser (>= 2.7.1.1) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.3.0, < 1.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (0.3.0) + parser (>= 2.7.1.4) + ruby-progressbar (1.10.1) + thor (1.0.1) + trollop (1.16.2) + unicode-display_width (1.7.0) + +PLATFORMS + ruby + +DEPENDENCIES + appraisal + childprocess + pry-byebug + pry-nav + rake + rspec (< 3.10) + rubocop + super_diff! + +BUNDLED WITH + 2.1.4 diff --git a/gemfiles/rails_5_0.gemfile.lock b/gemfiles/rails_5_0.gemfile.lock index 1ae1e097..b15a7c6e 100644 --- a/gemfiles/rails_5_0.gemfile.lock +++ b/gemfiles/rails_5_0.gemfile.lock @@ -31,7 +31,7 @@ GEM childprocess (4.0.0) coderay (1.1.3) concurrent-ruby (1.1.6) - diff-lcs (1.4.2) + diff-lcs (1.4.4) i18n (1.8.3) concurrent-ruby (~> 1.0) method_source (1.0.0) @@ -51,19 +51,19 @@ GEM rake (13.0.1) regexp_parser (1.7.1) rexml (3.2.4) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.2) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.2) + 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.1) + 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.3) + rspec-support (~> 3.10.0) + rspec-support (3.10.0) rubocop (0.86.0) parallel (~> 1.10) parser (>= 2.7.0.1) diff --git a/gemfiles/rails_5_0_rspec_gte_3_10.gemfile b/gemfiles/rails_5_0_rspec_gte_3_10.gemfile new file mode 100644 index 00000000..727fcc4c --- /dev/null +++ b/gemfiles/rails_5_0_rspec_gte_3_10.gemfile @@ -0,0 +1,17 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "childprocess" +gem "pry-byebug", platform: :mri +gem "pry-nav", platform: :jruby +gem "rake" +gem "rubocop" +gem "activerecord-jdbcsqlite3-adapter", platform: :jruby +gem "jdbc-sqlite3", platform: :jruby +gem "activerecord", "~> 5.0.0" +gem "sqlite3", "~> 1.3.6", platform: [:ruby, :mswin, :mingw] +gem "rspec", ">= 3.10", "< 4" + +gemspec path: "../" diff --git a/gemfiles/rails_5_0_rspec_gte_3_10.gemfile.lock b/gemfiles/rails_5_0_rspec_gte_3_10.gemfile.lock new file mode 100644 index 00000000..ff68d5bc --- /dev/null +++ b/gemfiles/rails_5_0_rspec_gte_3_10.gemfile.lock @@ -0,0 +1,105 @@ +PATH + remote: .. + specs: + super_diff (0.5.3) + attr_extras (>= 6.2.4) + diff-lcs + patience_diff + +GEM + remote: https://rubygems.org/ + specs: + activemodel (5.0.7.2) + activesupport (= 5.0.7.2) + activerecord (5.0.7.2) + activemodel (= 5.0.7.2) + activesupport (= 5.0.7.2) + arel (~> 7.0) + activesupport (5.0.7.2) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + appraisal (2.3.0) + bundler + rake + thor (>= 0.14.0) + arel (7.1.4) + ast (2.4.1) + attr_extras (6.2.4) + byebug (11.1.3) + childprocess (4.0.0) + coderay (1.1.3) + concurrent-ruby (1.1.7) + diff-lcs (1.4.4) + i18n (1.8.5) + concurrent-ruby (~> 1.0) + method_source (1.0.0) + minitest (5.14.2) + parallel (1.19.2) + parser (2.7.1.4) + ast (~> 2.4.1) + patience_diff (1.1.0) + trollop (~> 1.16) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.9.0) + byebug (~> 11.0) + pry (~> 0.13.0) + rainbow (3.0.0) + rake (13.0.1) + regexp_parser (1.7.1) + rexml (3.2.4) + 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.10.0) + rspec-mocks (3.10.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.0) + rubocop (0.89.1) + parallel (~> 1.10) + parser (>= 2.7.1.1) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.3.0, < 1.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (0.3.0) + parser (>= 2.7.1.4) + ruby-progressbar (1.10.1) + sqlite3 (1.3.13) + thor (1.0.1) + thread_safe (0.3.6) + trollop (1.16.2) + tzinfo (1.2.7) + thread_safe (~> 0.1) + unicode-display_width (1.7.0) + +PLATFORMS + ruby + +DEPENDENCIES + activerecord (~> 5.0.0) + activerecord-jdbcsqlite3-adapter + appraisal + childprocess + jdbc-sqlite3 + pry-byebug + pry-nav + rake + rspec (>= 3.10, < 4) + rubocop + sqlite3 (~> 1.3.6) + super_diff! + +BUNDLED WITH + 2.1.4 diff --git a/gemfiles/rails_5_0.gemfile b/gemfiles/rails_5_0_rspec_lt_3_10.gemfile similarity index 94% rename from gemfiles/rails_5_0.gemfile rename to gemfiles/rails_5_0_rspec_lt_3_10.gemfile index 37924470..58b3a1b7 100644 --- a/gemfiles/rails_5_0.gemfile +++ b/gemfiles/rails_5_0_rspec_lt_3_10.gemfile @@ -7,11 +7,11 @@ gem "childprocess" gem "pry-byebug", platform: :mri gem "pry-nav", platform: :jruby gem "rake" -gem "rspec" gem "rubocop" gem "activerecord-jdbcsqlite3-adapter", platform: :jruby gem "jdbc-sqlite3", platform: :jruby gem "activerecord", "~> 5.0.0" gem "sqlite3", "~> 1.3.6", platform: [:ruby, :mswin, :mingw] +gem "rspec", "< 3.10" gemspec path: "../" diff --git a/gemfiles/rails_5_0_rspec_lt_3_10.gemfile.lock b/gemfiles/rails_5_0_rspec_lt_3_10.gemfile.lock new file mode 100644 index 00000000..4f9d5f35 --- /dev/null +++ b/gemfiles/rails_5_0_rspec_lt_3_10.gemfile.lock @@ -0,0 +1,105 @@ +PATH + remote: .. + specs: + super_diff (0.5.3) + attr_extras (>= 6.2.4) + diff-lcs + patience_diff + +GEM + remote: https://rubygems.org/ + specs: + activemodel (5.0.7.2) + activesupport (= 5.0.7.2) + activerecord (5.0.7.2) + activemodel (= 5.0.7.2) + activesupport (= 5.0.7.2) + arel (~> 7.0) + activesupport (5.0.7.2) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + appraisal (2.3.0) + bundler + rake + thor (>= 0.14.0) + arel (7.1.4) + ast (2.4.1) + attr_extras (6.2.4) + byebug (11.1.3) + childprocess (4.0.0) + coderay (1.1.3) + concurrent-ruby (1.1.7) + diff-lcs (1.4.4) + i18n (1.8.5) + concurrent-ruby (~> 1.0) + method_source (1.0.0) + minitest (5.14.2) + parallel (1.19.2) + parser (2.7.1.4) + ast (~> 2.4.1) + patience_diff (1.1.0) + trollop (~> 1.16) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.9.0) + byebug (~> 11.0) + pry (~> 0.13.0) + rainbow (3.0.0) + rake (13.0.1) + regexp_parser (1.7.1) + rexml (3.2.4) + rspec (3.9.0) + rspec-core (~> 3.9.0) + rspec-expectations (~> 3.9.0) + rspec-mocks (~> 3.9.0) + rspec-core (3.9.2) + rspec-support (~> 3.9.3) + rspec-expectations (3.9.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.9.0) + rspec-mocks (3.9.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.9.0) + rspec-support (3.9.3) + rubocop (0.89.1) + parallel (~> 1.10) + parser (>= 2.7.1.1) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.3.0, < 1.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (0.3.0) + parser (>= 2.7.1.4) + ruby-progressbar (1.10.1) + sqlite3 (1.3.13) + thor (1.0.1) + thread_safe (0.3.6) + trollop (1.16.2) + tzinfo (1.2.7) + thread_safe (~> 0.1) + unicode-display_width (1.7.0) + +PLATFORMS + ruby + +DEPENDENCIES + activerecord (~> 5.0.0) + activerecord-jdbcsqlite3-adapter + appraisal + childprocess + jdbc-sqlite3 + pry-byebug + pry-nav + rake + rspec (< 3.10) + rubocop + sqlite3 (~> 1.3.6) + super_diff! + +BUNDLED WITH + 2.1.4 diff --git a/gemfiles/rails_5_1.gemfile.lock b/gemfiles/rails_5_1.gemfile.lock index dfe7727d..b2bf4637 100644 --- a/gemfiles/rails_5_1.gemfile.lock +++ b/gemfiles/rails_5_1.gemfile.lock @@ -31,7 +31,7 @@ GEM childprocess (4.0.0) coderay (1.1.3) concurrent-ruby (1.1.6) - diff-lcs (1.4.2) + diff-lcs (1.4.4) i18n (1.8.3) concurrent-ruby (~> 1.0) method_source (1.0.0) @@ -51,19 +51,19 @@ GEM rake (13.0.1) regexp_parser (1.7.1) rexml (3.2.4) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.2) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.2) + 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.1) + 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.3) + rspec-support (~> 3.10.0) + rspec-support (3.10.0) rubocop (0.86.0) parallel (~> 1.10) parser (>= 2.7.0.1) diff --git a/gemfiles/rails_5_1_rspec_gte_3_10.gemfile b/gemfiles/rails_5_1_rspec_gte_3_10.gemfile new file mode 100644 index 00000000..f53bed84 --- /dev/null +++ b/gemfiles/rails_5_1_rspec_gte_3_10.gemfile @@ -0,0 +1,17 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "childprocess" +gem "pry-byebug", platform: :mri +gem "pry-nav", platform: :jruby +gem "rake" +gem "rubocop" +gem "activerecord-jdbcsqlite3-adapter", platform: :jruby +gem "jdbc-sqlite3", platform: :jruby +gem "activerecord", "~> 5.1.0" +gem "sqlite3", "~> 1.3.6", platform: [:ruby, :mswin, :mingw] +gem "rspec", ">= 3.10", "< 4" + +gemspec path: "../" diff --git a/gemfiles/rails_5_1_rspec_gte_3_10.gemfile.lock b/gemfiles/rails_5_1_rspec_gte_3_10.gemfile.lock new file mode 100644 index 00000000..0d1fce59 --- /dev/null +++ b/gemfiles/rails_5_1_rspec_gte_3_10.gemfile.lock @@ -0,0 +1,105 @@ +PATH + remote: .. + specs: + super_diff (0.5.3) + attr_extras (>= 6.2.4) + diff-lcs + patience_diff + +GEM + remote: https://rubygems.org/ + specs: + activemodel (5.1.7) + activesupport (= 5.1.7) + activerecord (5.1.7) + activemodel (= 5.1.7) + activesupport (= 5.1.7) + arel (~> 8.0) + activesupport (5.1.7) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + appraisal (2.3.0) + bundler + rake + thor (>= 0.14.0) + arel (8.0.0) + ast (2.4.1) + attr_extras (6.2.4) + byebug (11.1.3) + childprocess (4.0.0) + coderay (1.1.3) + concurrent-ruby (1.1.7) + diff-lcs (1.4.4) + i18n (1.8.5) + concurrent-ruby (~> 1.0) + method_source (1.0.0) + minitest (5.14.2) + parallel (1.19.2) + parser (2.7.1.4) + ast (~> 2.4.1) + patience_diff (1.1.0) + trollop (~> 1.16) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.9.0) + byebug (~> 11.0) + pry (~> 0.13.0) + rainbow (3.0.0) + rake (13.0.1) + regexp_parser (1.7.1) + rexml (3.2.4) + 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.10.0) + rspec-mocks (3.10.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.0) + rubocop (0.89.1) + parallel (~> 1.10) + parser (>= 2.7.1.1) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.3.0, < 1.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (0.3.0) + parser (>= 2.7.1.4) + ruby-progressbar (1.10.1) + sqlite3 (1.3.13) + thor (1.0.1) + thread_safe (0.3.6) + trollop (1.16.2) + tzinfo (1.2.7) + thread_safe (~> 0.1) + unicode-display_width (1.7.0) + +PLATFORMS + ruby + +DEPENDENCIES + activerecord (~> 5.1.0) + activerecord-jdbcsqlite3-adapter + appraisal + childprocess + jdbc-sqlite3 + pry-byebug + pry-nav + rake + rspec (>= 3.10, < 4) + rubocop + sqlite3 (~> 1.3.6) + super_diff! + +BUNDLED WITH + 2.1.4 diff --git a/gemfiles/rails_5_1.gemfile b/gemfiles/rails_5_1_rspec_lt_3_10.gemfile similarity index 94% rename from gemfiles/rails_5_1.gemfile rename to gemfiles/rails_5_1_rspec_lt_3_10.gemfile index b0fd7e7c..433917b3 100644 --- a/gemfiles/rails_5_1.gemfile +++ b/gemfiles/rails_5_1_rspec_lt_3_10.gemfile @@ -7,11 +7,11 @@ gem "childprocess" gem "pry-byebug", platform: :mri gem "pry-nav", platform: :jruby gem "rake" -gem "rspec" gem "rubocop" gem "activerecord-jdbcsqlite3-adapter", platform: :jruby gem "jdbc-sqlite3", platform: :jruby gem "activerecord", "~> 5.1.0" gem "sqlite3", "~> 1.3.6", platform: [:ruby, :mswin, :mingw] +gem "rspec", "< 3.10" gemspec path: "../" diff --git a/gemfiles/rails_5_1_rspec_lt_3_10.gemfile.lock b/gemfiles/rails_5_1_rspec_lt_3_10.gemfile.lock new file mode 100644 index 00000000..35088710 --- /dev/null +++ b/gemfiles/rails_5_1_rspec_lt_3_10.gemfile.lock @@ -0,0 +1,105 @@ +PATH + remote: .. + specs: + super_diff (0.5.3) + attr_extras (>= 6.2.4) + diff-lcs + patience_diff + +GEM + remote: https://rubygems.org/ + specs: + activemodel (5.1.7) + activesupport (= 5.1.7) + activerecord (5.1.7) + activemodel (= 5.1.7) + activesupport (= 5.1.7) + arel (~> 8.0) + activesupport (5.1.7) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + appraisal (2.3.0) + bundler + rake + thor (>= 0.14.0) + arel (8.0.0) + ast (2.4.1) + attr_extras (6.2.4) + byebug (11.1.3) + childprocess (4.0.0) + coderay (1.1.3) + concurrent-ruby (1.1.7) + diff-lcs (1.4.4) + i18n (1.8.5) + concurrent-ruby (~> 1.0) + method_source (1.0.0) + minitest (5.14.2) + parallel (1.19.2) + parser (2.7.1.4) + ast (~> 2.4.1) + patience_diff (1.1.0) + trollop (~> 1.16) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.9.0) + byebug (~> 11.0) + pry (~> 0.13.0) + rainbow (3.0.0) + rake (13.0.1) + regexp_parser (1.7.1) + rexml (3.2.4) + rspec (3.9.0) + rspec-core (~> 3.9.0) + rspec-expectations (~> 3.9.0) + rspec-mocks (~> 3.9.0) + rspec-core (3.9.2) + rspec-support (~> 3.9.3) + rspec-expectations (3.9.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.9.0) + rspec-mocks (3.9.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.9.0) + rspec-support (3.9.3) + rubocop (0.89.1) + parallel (~> 1.10) + parser (>= 2.7.1.1) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.3.0, < 1.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (0.3.0) + parser (>= 2.7.1.4) + ruby-progressbar (1.10.1) + sqlite3 (1.3.13) + thor (1.0.1) + thread_safe (0.3.6) + trollop (1.16.2) + tzinfo (1.2.7) + thread_safe (~> 0.1) + unicode-display_width (1.7.0) + +PLATFORMS + ruby + +DEPENDENCIES + activerecord (~> 5.1.0) + activerecord-jdbcsqlite3-adapter + appraisal + childprocess + jdbc-sqlite3 + pry-byebug + pry-nav + rake + rspec (< 3.10) + rubocop + sqlite3 (~> 1.3.6) + super_diff! + +BUNDLED WITH + 2.1.4 diff --git a/gemfiles/rails_5_2.gemfile.lock b/gemfiles/rails_5_2.gemfile.lock index 7899b4c8..0bad95c5 100644 --- a/gemfiles/rails_5_2.gemfile.lock +++ b/gemfiles/rails_5_2.gemfile.lock @@ -31,7 +31,7 @@ GEM childprocess (4.0.0) coderay (1.1.3) concurrent-ruby (1.1.6) - diff-lcs (1.4.2) + diff-lcs (1.4.4) i18n (1.8.3) concurrent-ruby (~> 1.0) method_source (1.0.0) @@ -51,19 +51,19 @@ GEM rake (13.0.1) regexp_parser (1.7.1) rexml (3.2.4) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.2) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.2) + 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.1) + 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.3) + rspec-support (~> 3.10.0) + rspec-support (3.10.0) rubocop (0.86.0) parallel (~> 1.10) parser (>= 2.7.0.1) diff --git a/gemfiles/rails_5_2_rspec_gte_3_10.gemfile b/gemfiles/rails_5_2_rspec_gte_3_10.gemfile new file mode 100644 index 00000000..bc2d6f27 --- /dev/null +++ b/gemfiles/rails_5_2_rspec_gte_3_10.gemfile @@ -0,0 +1,17 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "childprocess" +gem "pry-byebug", platform: :mri +gem "pry-nav", platform: :jruby +gem "rake" +gem "rubocop" +gem "activerecord-jdbcsqlite3-adapter", platform: :jruby +gem "jdbc-sqlite3", platform: :jruby +gem "activerecord", "~> 5.2.0" +gem "sqlite3", "~> 1.3.6", platform: [:ruby, :mswin, :mingw] +gem "rspec", ">= 3.10", "< 4" + +gemspec path: "../" diff --git a/gemfiles/rails_5_2_rspec_gte_3_10.gemfile.lock b/gemfiles/rails_5_2_rspec_gte_3_10.gemfile.lock new file mode 100644 index 00000000..b9479b4d --- /dev/null +++ b/gemfiles/rails_5_2_rspec_gte_3_10.gemfile.lock @@ -0,0 +1,105 @@ +PATH + remote: .. + specs: + super_diff (0.5.3) + attr_extras (>= 6.2.4) + diff-lcs + patience_diff + +GEM + remote: https://rubygems.org/ + specs: + activemodel (5.2.4.3) + activesupport (= 5.2.4.3) + activerecord (5.2.4.3) + activemodel (= 5.2.4.3) + activesupport (= 5.2.4.3) + arel (>= 9.0) + activesupport (5.2.4.3) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + appraisal (2.3.0) + bundler + rake + thor (>= 0.14.0) + arel (9.0.0) + ast (2.4.1) + attr_extras (6.2.4) + byebug (11.1.3) + childprocess (4.0.0) + coderay (1.1.3) + concurrent-ruby (1.1.7) + diff-lcs (1.4.4) + i18n (1.8.5) + concurrent-ruby (~> 1.0) + method_source (1.0.0) + minitest (5.14.2) + parallel (1.19.2) + parser (2.7.1.4) + ast (~> 2.4.1) + patience_diff (1.1.0) + trollop (~> 1.16) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.9.0) + byebug (~> 11.0) + pry (~> 0.13.0) + rainbow (3.0.0) + rake (13.0.1) + regexp_parser (1.7.1) + rexml (3.2.4) + 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.10.0) + rspec-mocks (3.10.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.0) + rubocop (0.89.1) + parallel (~> 1.10) + parser (>= 2.7.1.1) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.3.0, < 1.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (0.3.0) + parser (>= 2.7.1.4) + ruby-progressbar (1.10.1) + sqlite3 (1.3.13) + thor (1.0.1) + thread_safe (0.3.6) + trollop (1.16.2) + tzinfo (1.2.7) + thread_safe (~> 0.1) + unicode-display_width (1.7.0) + +PLATFORMS + ruby + +DEPENDENCIES + activerecord (~> 5.2.0) + activerecord-jdbcsqlite3-adapter + appraisal + childprocess + jdbc-sqlite3 + pry-byebug + pry-nav + rake + rspec (>= 3.10, < 4) + rubocop + sqlite3 (~> 1.3.6) + super_diff! + +BUNDLED WITH + 2.1.4 diff --git a/gemfiles/rails_5_2.gemfile b/gemfiles/rails_5_2_rspec_lt_3_10.gemfile similarity index 94% rename from gemfiles/rails_5_2.gemfile rename to gemfiles/rails_5_2_rspec_lt_3_10.gemfile index 3977f5ce..450f00f0 100644 --- a/gemfiles/rails_5_2.gemfile +++ b/gemfiles/rails_5_2_rspec_lt_3_10.gemfile @@ -7,11 +7,11 @@ gem "childprocess" gem "pry-byebug", platform: :mri gem "pry-nav", platform: :jruby gem "rake" -gem "rspec" gem "rubocop" gem "activerecord-jdbcsqlite3-adapter", platform: :jruby gem "jdbc-sqlite3", platform: :jruby gem "activerecord", "~> 5.2.0" gem "sqlite3", "~> 1.3.6", platform: [:ruby, :mswin, :mingw] +gem "rspec", "< 3.10" gemspec path: "../" diff --git a/gemfiles/rails_5_2_rspec_lt_3_10.gemfile.lock b/gemfiles/rails_5_2_rspec_lt_3_10.gemfile.lock new file mode 100644 index 00000000..b6323ee1 --- /dev/null +++ b/gemfiles/rails_5_2_rspec_lt_3_10.gemfile.lock @@ -0,0 +1,105 @@ +PATH + remote: .. + specs: + super_diff (0.5.3) + attr_extras (>= 6.2.4) + diff-lcs + patience_diff + +GEM + remote: https://rubygems.org/ + specs: + activemodel (5.2.4.3) + activesupport (= 5.2.4.3) + activerecord (5.2.4.3) + activemodel (= 5.2.4.3) + activesupport (= 5.2.4.3) + arel (>= 9.0) + activesupport (5.2.4.3) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + appraisal (2.3.0) + bundler + rake + thor (>= 0.14.0) + arel (9.0.0) + ast (2.4.1) + attr_extras (6.2.4) + byebug (11.1.3) + childprocess (4.0.0) + coderay (1.1.3) + concurrent-ruby (1.1.7) + diff-lcs (1.4.4) + i18n (1.8.5) + concurrent-ruby (~> 1.0) + method_source (1.0.0) + minitest (5.14.2) + parallel (1.19.2) + parser (2.7.1.4) + ast (~> 2.4.1) + patience_diff (1.1.0) + trollop (~> 1.16) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.9.0) + byebug (~> 11.0) + pry (~> 0.13.0) + rainbow (3.0.0) + rake (13.0.1) + regexp_parser (1.7.1) + rexml (3.2.4) + rspec (3.9.0) + rspec-core (~> 3.9.0) + rspec-expectations (~> 3.9.0) + rspec-mocks (~> 3.9.0) + rspec-core (3.9.2) + rspec-support (~> 3.9.3) + rspec-expectations (3.9.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.9.0) + rspec-mocks (3.9.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.9.0) + rspec-support (3.9.3) + rubocop (0.89.1) + parallel (~> 1.10) + parser (>= 2.7.1.1) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.3.0, < 1.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (0.3.0) + parser (>= 2.7.1.4) + ruby-progressbar (1.10.1) + sqlite3 (1.3.13) + thor (1.0.1) + thread_safe (0.3.6) + trollop (1.16.2) + tzinfo (1.2.7) + thread_safe (~> 0.1) + unicode-display_width (1.7.0) + +PLATFORMS + ruby + +DEPENDENCIES + activerecord (~> 5.2.0) + activerecord-jdbcsqlite3-adapter + appraisal + childprocess + jdbc-sqlite3 + pry-byebug + pry-nav + rake + rspec (< 3.10) + rubocop + sqlite3 (~> 1.3.6) + super_diff! + +BUNDLED WITH + 2.1.4 diff --git a/gemfiles/rails_6_0.gemfile.lock b/gemfiles/rails_6_0.gemfile.lock index 9d9cf083..d00ad744 100644 --- a/gemfiles/rails_6_0.gemfile.lock +++ b/gemfiles/rails_6_0.gemfile.lock @@ -30,7 +30,7 @@ GEM childprocess (4.0.0) coderay (1.1.3) concurrent-ruby (1.1.6) - diff-lcs (1.4.2) + diff-lcs (1.4.4) i18n (1.8.3) concurrent-ruby (~> 1.0) method_source (1.0.0) @@ -50,19 +50,19 @@ GEM rake (13.0.1) regexp_parser (1.7.1) rexml (3.2.4) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.2) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.2) + 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.1) + 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.3) + rspec-support (~> 3.10.0) + rspec-support (3.10.0) rubocop (0.86.0) parallel (~> 1.10) parser (>= 2.7.0.1) diff --git a/gemfiles/rails_6_0_rspec_gte_3_10.gemfile b/gemfiles/rails_6_0_rspec_gte_3_10.gemfile new file mode 100644 index 00000000..6be47a3c --- /dev/null +++ b/gemfiles/rails_6_0_rspec_gte_3_10.gemfile @@ -0,0 +1,17 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "childprocess" +gem "pry-byebug", platform: :mri +gem "pry-nav", platform: :jruby +gem "rake" +gem "rubocop" +gem "activerecord-jdbcsqlite3-adapter", platform: :jruby +gem "jdbc-sqlite3", platform: :jruby +gem "activerecord", "~> 6.0" +gem "sqlite3", "~> 1.4.0", platform: [:ruby, :mswin, :mingw] +gem "rspec", ">= 3.10", "< 4" + +gemspec path: "../" diff --git a/gemfiles/rails_6_0_rspec_gte_3_10.gemfile.lock b/gemfiles/rails_6_0_rspec_gte_3_10.gemfile.lock new file mode 100644 index 00000000..8e7c2c75 --- /dev/null +++ b/gemfiles/rails_6_0_rspec_gte_3_10.gemfile.lock @@ -0,0 +1,105 @@ +PATH + remote: .. + specs: + super_diff (0.5.3) + attr_extras (>= 6.2.4) + diff-lcs + patience_diff + +GEM + remote: https://rubygems.org/ + specs: + activemodel (6.0.3.4) + activesupport (= 6.0.3.4) + activerecord (6.0.3.4) + activemodel (= 6.0.3.4) + activesupport (= 6.0.3.4) + activesupport (6.0.3.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + zeitwerk (~> 2.2, >= 2.2.2) + appraisal (2.3.0) + bundler + rake + thor (>= 0.14.0) + ast (2.4.1) + attr_extras (6.2.4) + byebug (11.1.3) + childprocess (4.0.0) + coderay (1.1.3) + concurrent-ruby (1.1.7) + diff-lcs (1.4.4) + i18n (1.8.5) + concurrent-ruby (~> 1.0) + method_source (1.0.0) + minitest (5.14.2) + parallel (1.19.2) + parser (2.7.1.4) + ast (~> 2.4.1) + patience_diff (1.1.0) + trollop (~> 1.16) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.9.0) + byebug (~> 11.0) + pry (~> 0.13.0) + rainbow (3.0.0) + rake (13.0.1) + regexp_parser (1.7.1) + rexml (3.2.4) + 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.10.0) + rspec-mocks (3.10.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.0) + rubocop (0.89.1) + parallel (~> 1.10) + parser (>= 2.7.1.1) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.3.0, < 1.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (0.3.0) + parser (>= 2.7.1.4) + ruby-progressbar (1.10.1) + sqlite3 (1.4.2) + thor (1.0.1) + thread_safe (0.3.6) + trollop (1.16.2) + tzinfo (1.2.7) + thread_safe (~> 0.1) + unicode-display_width (1.7.0) + zeitwerk (2.4.1) + +PLATFORMS + ruby + +DEPENDENCIES + activerecord (~> 6.0) + activerecord-jdbcsqlite3-adapter + appraisal + childprocess + jdbc-sqlite3 + pry-byebug + pry-nav + rake + rspec (>= 3.10, < 4) + rubocop + sqlite3 (~> 1.4.0) + super_diff! + +BUNDLED WITH + 2.1.4 diff --git a/gemfiles/rails_6_0.gemfile b/gemfiles/rails_6_0_rspec_lt_3_10.gemfile similarity index 94% rename from gemfiles/rails_6_0.gemfile rename to gemfiles/rails_6_0_rspec_lt_3_10.gemfile index c94ba4a6..a6c43cf4 100644 --- a/gemfiles/rails_6_0.gemfile +++ b/gemfiles/rails_6_0_rspec_lt_3_10.gemfile @@ -7,11 +7,11 @@ gem "childprocess" gem "pry-byebug", platform: :mri gem "pry-nav", platform: :jruby gem "rake" -gem "rspec" gem "rubocop" gem "activerecord-jdbcsqlite3-adapter", platform: :jruby gem "jdbc-sqlite3", platform: :jruby gem "activerecord", "~> 6.0" gem "sqlite3", "~> 1.4.0", platform: [:ruby, :mswin, :mingw] +gem "rspec", "< 3.10" gemspec path: "../" diff --git a/gemfiles/rails_6_0_rspec_lt_3_10.gemfile.lock b/gemfiles/rails_6_0_rspec_lt_3_10.gemfile.lock new file mode 100644 index 00000000..2dfb5147 --- /dev/null +++ b/gemfiles/rails_6_0_rspec_lt_3_10.gemfile.lock @@ -0,0 +1,105 @@ +PATH + remote: .. + specs: + super_diff (0.5.3) + attr_extras (>= 6.2.4) + diff-lcs + patience_diff + +GEM + remote: https://rubygems.org/ + specs: + activemodel (6.0.3.4) + activesupport (= 6.0.3.4) + activerecord (6.0.3.4) + activemodel (= 6.0.3.4) + activesupport (= 6.0.3.4) + activesupport (6.0.3.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + zeitwerk (~> 2.2, >= 2.2.2) + appraisal (2.3.0) + bundler + rake + thor (>= 0.14.0) + ast (2.4.1) + attr_extras (6.2.4) + byebug (11.1.3) + childprocess (4.0.0) + coderay (1.1.3) + concurrent-ruby (1.1.7) + diff-lcs (1.4.4) + i18n (1.8.5) + concurrent-ruby (~> 1.0) + method_source (1.0.0) + minitest (5.14.2) + parallel (1.19.2) + parser (2.7.1.4) + ast (~> 2.4.1) + patience_diff (1.1.0) + trollop (~> 1.16) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.9.0) + byebug (~> 11.0) + pry (~> 0.13.0) + rainbow (3.0.0) + rake (13.0.1) + regexp_parser (1.7.1) + rexml (3.2.4) + rspec (3.9.0) + rspec-core (~> 3.9.0) + rspec-expectations (~> 3.9.0) + rspec-mocks (~> 3.9.0) + rspec-core (3.9.2) + rspec-support (~> 3.9.3) + rspec-expectations (3.9.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.9.0) + rspec-mocks (3.9.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.9.0) + rspec-support (3.9.3) + rubocop (0.89.1) + parallel (~> 1.10) + parser (>= 2.7.1.1) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.3.0, < 1.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (0.3.0) + parser (>= 2.7.1.4) + ruby-progressbar (1.10.1) + sqlite3 (1.4.2) + thor (1.0.1) + thread_safe (0.3.6) + trollop (1.16.2) + tzinfo (1.2.7) + thread_safe (~> 0.1) + unicode-display_width (1.7.0) + zeitwerk (2.4.1) + +PLATFORMS + ruby + +DEPENDENCIES + activerecord (~> 6.0) + activerecord-jdbcsqlite3-adapter + appraisal + childprocess + jdbc-sqlite3 + pry-byebug + pry-nav + rake + rspec (< 3.10) + rubocop + sqlite3 (~> 1.4.0) + super_diff! + +BUNDLED WITH + 2.1.4 diff --git a/lib/super_diff.rb b/lib/super_diff.rb index 0dc38e07..7377acf1 100644 --- a/lib/super_diff.rb +++ b/lib/super_diff.rb @@ -13,6 +13,7 @@ module SuperDiff autoload :Differs, "super_diff/differs" autoload :EqualityMatchers, "super_diff/equality_matchers" autoload :Errors, "super_diff/errors" + autoload :GemVersion, "super_diff/gem_version" autoload :Helpers, "super_diff/helpers" autoload :ImplementationChecks, "super_diff/implementation_checks" autoload :ObjectInspection, "super_diff/object_inspection" diff --git a/lib/super_diff/gem_version.rb b/lib/super_diff/gem_version.rb new file mode 100644 index 00000000..48db504d --- /dev/null +++ b/lib/super_diff/gem_version.rb @@ -0,0 +1,45 @@ +module SuperDiff + class GemVersion + def initialize(version) + @version = Gem::Version.new(version.to_s) + end + + def <(other) + compare?(:<, other) + end + + def <=(other) + compare?(:<=, other) + end + + def ==(other) + compare?(:==, other) + end + + def >=(other) + compare?(:>=, other) + end + + def >(other) + compare?(:>, other) + end + + def =~(other) + Gem::Requirement.new(other).satisfied_by?(version) + end + + def to_s + version.to_s + end + + private + + attr_reader :version + + def compare?(operator, other_version) + Gem::Requirement. + new("#{operator} #{other_version}"). + satisfied_by?(version) + end + end +end diff --git a/lib/super_diff/rspec.rb b/lib/super_diff/rspec.rb index 094a1a8d..763231c8 100644 --- a/lib/super_diff/rspec.rb +++ b/lib/super_diff/rspec.rb @@ -61,6 +61,10 @@ def self.fuzzy_object?(value) value.is_a?(::RSpec::Matchers::AliasedMatcher) end + def self.rspec_version + GemVersion.new(::RSpec::Version::STRING) + end + SuperDiff.configuration.tap do |config| config.add_extra_differ_classes( Differs::CollectionContainingExactly, diff --git a/lib/super_diff/rspec/monkey_patches.rb b/lib/super_diff/rspec/monkey_patches.rb index b6f70ef0..217f2a37 100644 --- a/lib/super_diff/rspec/monkey_patches.rb +++ b/lib/super_diff/rspec/monkey_patches.rb @@ -9,6 +9,7 @@ require "rspec/matchers/built_in/have_attributes" require "rspec/matchers/built_in/include" require "rspec/matchers/built_in/match" +require "rspec/version" module RSpec module Expectations @@ -394,7 +395,11 @@ def actual_for_matcher_text end def expected_for_matcher_text - expected + if SuperDiff::RSpec.rspec_version < "3.10" + expected + else + predicate.to_s.chomp('?') + end end def expected_action_for_matcher_text @@ -545,7 +550,11 @@ def actual_for_matcher_text end def expected_for_matcher_text - "#{predicate}#{failure_message_args_description}" + if SuperDiff::RSpec.rspec_version < "3.10" + "#{predicate}#{failure_message_args_description}" + else + "#{predicate}#{args_to_s}" + end end def expected_action_for_matcher_text