diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/activerecord-nulldb-adapter.gemspec ruby-activerecord-nulldb-adapter-0.8.0/activerecord-nulldb-adapter.gemspec --- ruby-activerecord-nulldb-adapter-0.4.0/activerecord-nulldb-adapter.gemspec 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/activerecord-nulldb-adapter.gemspec 2021-11-03 19:49:17.000000000 +0000 @@ -8,24 +8,24 @@ s.version = NullDB::VERSION s.require_paths = ["lib"] - s.authors = ["Avdi Grimm", "Myron Marston"] + s.authors = ["Avdi Grimm", "Myron Marston", "Danilo Cabello"] s.summary = "The Null Object pattern as applied to ActiveRecord database adapters" s.description = "A database backend that translates database interactions into no-ops. Using NullDB enables you to test your model business logic - including after_save hooks - without ever touching a real database." - s.email = "myron.marston@gmail.com" + s.email = "cabello@users.noreply.github.com" s.extra_rdoc_files = [ "LICENSE", "README.rdoc" ] s.files = `git ls-files`.split($/) - s.homepage = "http://github.com/nulldb/nulldb" + s.homepage = "https://github.com/nulldb/nulldb" s.licenses = ["MIT"] - s.add_runtime_dependency 'activerecord', '>= 2.0.0' + s.add_runtime_dependency 'activerecord', '>= 5.2.0', '< 7.1' s.add_development_dependency 'spec' s.add_development_dependency 'rdoc' s.add_development_dependency 'rspec' s.add_development_dependency 'rake' s.add_development_dependency 'appraisal' s.add_development_dependency 'simplecov' + s.add_development_dependency 'pry-byebug' end - diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/Appraisals ruby-activerecord-nulldb-adapter-0.8.0/Appraisals --- ruby-activerecord-nulldb-adapter-0.4.0/Appraisals 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/Appraisals 2021-11-03 19:49:17.000000000 +0000 @@ -1,40 +1,15 @@ -appraise "activerecord-2.3" do - gem 'iconv', :platforms => :ruby - gem "activerecord", "~> 2.3.0" +appraise "activerecord-5.2" do + gem "activerecord", "~> 5.2.0" end -appraise "activerecord-3.0" do - gem "activerecord", "~> 3.0.0" -end - -appraise "activerecord-3.1" do - gem "activerecord", "~> 3.1.0" -end - -appraise "activerecord-3.2" do - gem "activerecord", "~> 3.2.0" -end - -appraise "activerecord-4.0" do - gem "activerecord", "~> 4.0.0" -end - -appraise "activerecord-4.1" do - gem "activerecord", "~> 4.1.0" -end - -appraise "activerecord-4.2" do - gem "activerecord", "~> 4.2.0" -end - -appraise "activerecord-5.0" do - gem "activerecord", "~> 5.0.0" +appraise "activerecord-6.0" do + gem "activerecord", "~> 6.0.0" end -appraise "activerecord-5.1" do - gem "activerecord", "~> 5.1.0" +appraise "activerecord-7.0" do + gem "activerecord", "~> 7.0.0.alpha2" end -appraise "activerecord-6.0" do - gem "activerecord", "~> 6.0.0.rc1" +appraise "activerecord-master" do + gem "activerecord", github: 'rails/rails', branch: :main end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/CHANGES.md ruby-activerecord-nulldb-adapter-0.8.0/CHANGES.md --- ruby-activerecord-nulldb-adapter-0.4.0/CHANGES.md 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/CHANGES.md 2021-11-03 19:49:17.000000000 +0000 @@ -1,6 +1,29 @@ Unreleased ---------- +0.8.0 (2022-10-28) +----------- + +- Add support for Rails 7. #111 #112 + +0.7.0 (2021-01-18) +----------- + +- Add support to Rails 6.1 #106 + +0.6.0 (2021-01-08) +----------- + +- *Breaking* Finish dropping support to Rails <= 5.1 by removing custom code for these versions. #101 + +0.5.0 (2020-10-15) +----------- + +- *Breaking* Drop support to Ruby 2.2, 2.3, 2.4 +- *Breaking* Drop support to Rails 2.X, 3.X, 4.X, 5.0, 5.1 +- Drop support to old versions of Ruby and Rails. #96 +- Added support for postgres column types included jsonb and ability to delete columns #94 + 0.4.0 (2019-07-22) ----------- diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/debian/changelog ruby-activerecord-nulldb-adapter-0.8.0/debian/changelog --- ruby-activerecord-nulldb-adapter-0.4.0/debian/changelog 2020-02-06 11:24:15.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/debian/changelog 2021-11-21 01:42:17.000000000 +0000 @@ -1,3 +1,29 @@ +ruby-activerecord-nulldb-adapter (0.8.0-1) unstable; urgency=medium + + * Team upload. + * New upstream release. + + [ Debian Janitor ] + * Trim trailing whitespace. + * Set debhelper-compat version in Build-Depends. + * Set upstream metadata fields: Bug-Database, Bug-Submit, Repository, + Repository-Browse. + * Bump debhelper from old 12 to 13. + * Update standards version to 4.5.1, no changes needed. + * Fix field name case in debian/control (Rules-requires-root => + Rules-Requires-Root). + + [ Daniel Leidert ] + * d/control (Standards-Version): Bump to 4.6.0. + (Build-Depends): Bump to ruby-activerecord >= 2:6.1 (closes: #996119). + (Depends): Add ${ruby:Depends}. + * d/copyright: Add Upstream-Contact field. + (Copyright): Add team. + * d/rules: Use gem installation layout and install changelog. + * d/upstream/metadata: Add Archive and Changelog fields. + + -- Daniel Leidert Sun, 21 Nov 2021 02:42:17 +0100 + ruby-activerecord-nulldb-adapter (0.4.0-1) unstable; urgency=medium * Team upload. @@ -30,7 +56,7 @@ - Wrap and sort, switch to cgit and HTTPS for homepage/vcs-browser [ Lucas Albuquerque Medeiros de Moura ] - * New upstream release. + * New upstream release. * Removing patches already applied on new upstream version. * Update how package test were executed. * Add patch to fix tests for activerecord 4.2. diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/debian/compat ruby-activerecord-nulldb-adapter-0.8.0/debian/compat --- ruby-activerecord-nulldb-adapter-0.4.0/debian/compat 2020-02-06 11:24:15.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -12 diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/debian/control ruby-activerecord-nulldb-adapter-0.8.0/debian/control --- ruby-activerecord-nulldb-adapter-0.4.0/debian/control 2020-02-06 11:24:15.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/debian/control 2021-11-21 01:42:17.000000000 +0000 @@ -1,25 +1,26 @@ Source: ruby-activerecord-nulldb-adapter Section: ruby Priority: optional -Maintainer: Debian Ruby Extras Maintainers +Maintainer: Debian Ruby Team Uploaders: Cédric Boutillier -Build-Depends: debhelper (>= 12~), +Build-Depends: debhelper-compat (= 13), gem2deb, - ruby-activerecord, + ruby-activerecord (>= 2:6.1), ruby-rspec -Standards-Version: 4.5.0 +Standards-Version: 4.6.0 Vcs-Git: https://salsa.debian.org/ruby-team/ruby-activerecord-nulldb-adapter.git Vcs-Browser: https://salsa.debian.org/ruby-team/ruby-activerecord-nulldb-adapter Homepage: https://github.com/nulldb/nulldb XS-Ruby-Versions: all -Rules-requires-root: no Testsuite: autopkgtest-pkg-ruby +Rules-Requires-Root: no Package: ruby-activerecord-nulldb-adapter Architecture: all XB-Ruby-Versions: ${ruby:Versions} -Depends: ruby-activerecord, +Depends: ruby-activerecord (>= 2:5.2.0), ${misc:Depends}, + ${ruby:Depends}, ${shlibs:Depends} Description: ActiveRecord database adapters based on the Null Object pattern NullDB provides a database backend for Ruby ActiveRecord that translates diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/debian/copyright ruby-activerecord-nulldb-adapter-0.8.0/debian/copyright --- ruby-activerecord-nulldb-adapter-0.4.0/debian/copyright 2020-02-06 11:24:15.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/debian/copyright 2021-11-21 01:42:17.000000000 +0000 @@ -1,5 +1,6 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: activerecord-nulldb-adapter +Upstream-Contact: https://github.com/nulldb/nulldb/issues Source: https://github.com/nulldb/nulldb Files: * @@ -8,8 +9,9 @@ Files: debian/* Copyright: 2014 Cédric Boutillier + 2021 Debian Ruby Extras Maintainers License: Expat -Comment: the Debian packaging is licensed under the same terms as the original package. +Comment: The Debian packaging is licensed under the same terms as the source. License: Expat Permission is hereby granted, free of charge, to any person obtaining a copy diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/debian/rules ruby-activerecord-nulldb-adapter-0.8.0/debian/rules --- ruby-activerecord-nulldb-adapter-0.4.0/debian/rules 2020-02-06 11:24:15.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/debian/rules 2021-11-21 01:42:17.000000000 +0000 @@ -1,16 +1,11 @@ #!/usr/bin/make -f #export DH_VERBOSE=1 -# -# Uncomment to ignore all test failures (but the tests will run anyway) -#export DH_RUBY_IGNORE_TESTS=all -# -# Uncomment to ignore some test failures (but the tests will run anyway). -# Valid values: -#export DH_RUBY_IGNORE_TESTS=ruby2.1 require-rubygems -# -# If you need to specify the .gemspec (eg there is more than one) -#export DH_RUBY_GEMSPEC=gem.gemspec + export GEM2DEB_TEST_RUNNER = --check-dependencies +export DH_RUBY = --gem-install %: dh $@ --buildsystem=ruby --with ruby + +override_dh_installchangelogs: + dh_installchangelogs CHANGES.md -O--buildsystem=ruby diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/debian/upstream/metadata ruby-activerecord-nulldb-adapter-0.8.0/debian/upstream/metadata --- ruby-activerecord-nulldb-adapter-0.4.0/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/debian/upstream/metadata 2021-11-21 01:42:17.000000000 +0000 @@ -0,0 +1,7 @@ +--- +Archive: GitHub +Bug-Database: https://github.com/nulldb/nulldb/issues +Bug-Submit: https://github.com/nulldb/nulldb/issues/new +Changelog: https://github.com/nulldb/nulldb/blob/master/CHANGES.md +Repository: https://github.com/nulldb/nulldb.git +Repository-Browse: https://github.com/nulldb/nulldb diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/Gemfile ruby-activerecord-nulldb-adapter-0.8.0/Gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/Gemfile 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/Gemfile 2021-11-03 19:49:17.000000000 +0000 @@ -1,6 +1,6 @@ source "https://rubygems.org" -gem 'activerecord', '>= 2.0.0' +gem 'activerecord', '>= 5.2.0', '< 6.3' group :development, :test do gem 'spec' diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_2.3.gemfile ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_2.3.gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_2.3.gemfile 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_2.3.gemfile 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "activerecord", "~> 2.3.0" -gem "iconv", :platforms => :ruby - -group :development, :test do - gem "spec" - gem "rspec", ">= 1.2.9" - gem "rake" -end - -group :development do - gem "appraisal" - gem "simplecov", :require => false -end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_3.2.gemfile ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_3.2.gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_3.2.gemfile 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_3.2.gemfile 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "activerecord", "~> 3.2.0" - -group :development, :test do - gem "spec" - gem "rspec", ">= 1.2.9" - gem "rake" -end - -group :development do - gem "appraisal" - gem "simplecov", :require => false -end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_4.0.gemfile ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_4.0.gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_4.0.gemfile 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_4.0.gemfile 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "activerecord", "~> 4.0.0" - -group :development, :test do - gem "spec" - gem "rspec", ">= 1.2.9" - gem "rake" -end - -group :development do - gem "appraisal" - gem "simplecov", :require => false -end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_4.1.gemfile ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_4.1.gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_4.1.gemfile 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_4.1.gemfile 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "activerecord", "~> 4.1.0" - -group :development, :test do - gem "spec" - gem "rspec", ">= 1.2.9" - gem "rake" -end - -group :development do - gem "appraisal" - gem "simplecov", :require => false -end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_4.2.gemfile ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_4.2.gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_4.2.gemfile 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_4.2.gemfile 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "activerecord", "~> 4.2.0" - -group :development, :test do - gem "spec" - gem "rspec", ">= 1.2.9" - gem "rake" -end - -group :development do - gem "appraisal" - gem "simplecov", :require => false -end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_5.0.gemfile ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_5.0.gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_5.0.gemfile 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_5.0.gemfile 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "activerecord", "~> 5.0.0" - -group :development, :test do - gem "spec" - gem "rspec", ">= 1.2.9" - gem "rake" -end - -group :development do - gem "appraisal" - gem "simplecov", :require => false -end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_5.1.gemfile ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_5.1.gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_5.1.gemfile 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_5.1.gemfile 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "activerecord", "~> 5.1.0" - -group :development, :test do - gem "spec" - gem "rspec", ">= 1.2.9" - gem "rake" -end - -group :development do - gem "appraisal" - gem "simplecov", :require => false -end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_5.2.gemfile ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_5.2.gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_5.2.gemfile 1970-01-01 00:00:00.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_5.2.gemfile 2021-11-03 19:49:17.000000000 +0000 @@ -0,0 +1,17 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "activerecord", "~> 5.2.0" + +group :development, :test do + gem "spec" + gem "rspec", ">= 1.2.9" + gem "rake" + gem "rdoc" +end + +group :development do + gem "appraisal" + gem "simplecov", require: false +end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_6.0.gemfile ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_6.0.gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_6.0.gemfile 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_6.0.gemfile 2021-11-03 19:49:17.000000000 +0000 @@ -2,7 +2,7 @@ source "https://rubygems.org" -gem "activerecord", "~> 6.0.0.rc1" +gem "activerecord", "~> 6.0.0" group :development, :test do gem "spec" diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_6.1.gemfile ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_6.1.gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_6.1.gemfile 1970-01-01 00:00:00.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_6.1.gemfile 2021-11-03 19:49:17.000000000 +0000 @@ -0,0 +1,17 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "activerecord", "~> 6.1.0" + +group :development, :test do + gem "spec" + gem "rspec", ">= 1.2.9" + gem "rake" + gem "rdoc" +end + +group :development do + gem "appraisal" + gem "simplecov", require: false +end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_7.0.gemfile ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_7.0.gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_7.0.gemfile 1970-01-01 00:00:00.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_7.0.gemfile 2021-11-03 19:49:17.000000000 +0000 @@ -0,0 +1,17 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "activerecord", "~> 7.0.0.alpha2" + +group :development, :test do + gem "spec" + gem "rspec", ">= 1.2.9" + gem "rake" + gem "rdoc" +end + +group :development do + gem "appraisal" + gem "simplecov", require: false +end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_master.gemfile ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_master.gemfile --- ruby-activerecord-nulldb-adapter-0.4.0/gemfiles/activerecord_master.gemfile 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/gemfiles/activerecord_master.gemfile 2021-11-03 19:49:17.000000000 +0000 @@ -2,19 +2,16 @@ source "https://rubygems.org" -git 'https://github.com/rails/rails.git' do - gem 'activerecord' -end - -gem 'arel', github: 'rails/arel', branch: 'master' +gem "activerecord", github: "rails/rails", branch: :main group :development, :test do gem "spec" gem "rspec", ">= 1.2.9" gem "rake" + gem "rdoc" end group :development do gem "appraisal" - gem "simplecov", :require => false + gem "simplecov", require: false end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/.github/workflows/ruby.yml ruby-activerecord-nulldb-adapter-0.8.0/.github/workflows/ruby.yml --- ruby-activerecord-nulldb-adapter-0.4.0/.github/workflows/ruby.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/.github/workflows/ruby.yml 2021-11-03 19:49:17.000000000 +0000 @@ -0,0 +1,48 @@ +name: build +on: [push, pull_request] +jobs: + test: + strategy: + fail-fast: false + matrix: + gemfile: + [ + activerecord_5.2, + activerecord_6.0, + activerecord_6.1, + activerecord_7.0, + activerecord_master, + ] + ruby: ["2.5", "2.6", "2.7", "3.0", "jruby-9.3.1.0"] + exclude: + - ruby: "3.0" + gemfile: activerecord_5.2 + + - ruby: "2.5" + gemfile: "activerecord_master" + + - ruby: "2.6" + gemfile: "activerecord_master" + + - ruby: "2.5" + gemfile: "activerecord_7.0" + + - ruby: "2.6" + gemfile: "activerecord_7.0" + + - ruby: "jruby-9.3.1.0" + gemfile: "activerecord_7.0" + + - ruby: "jruby-9.3.1.0" + gemfile: "activerecord_master" + + runs-on: ubuntu-latest + env: + BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile + steps: + - uses: actions/checkout@v2 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - run: bundle exec rake diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/.gitignore ruby-activerecord-nulldb-adapter-0.8.0/.gitignore --- ruby-activerecord-nulldb-adapter-0.4.0/.gitignore 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/.gitignore 2021-11-03 19:49:17.000000000 +0000 @@ -10,9 +10,11 @@ # bundler .bundle *.lock +vendor # gem pkg +*.gem # mac os specific .DS_Store diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/lib/active_record/connection_adapters/nulldb_adapter/column.rb ruby-activerecord-nulldb-adapter-0.8.0/lib/active_record/connection_adapters/nulldb_adapter/column.rb --- ruby-activerecord-nulldb-adapter-0.4.0/lib/active_record/connection_adapters/nulldb_adapter/column.rb 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/lib/active_record/connection_adapters/nulldb_adapter/column.rb 2021-11-03 19:49:17.000000000 +0000 @@ -1,20 +1,4 @@ class ActiveRecord::ConnectionAdapters::NullDBAdapter class Column < ::ActiveRecord::ConnectionAdapters::Column - - private - - def simplified_type(field_type) - super || simplified_type_from_sql_type - end - - def simplified_type_from_sql_type - case sql_type - when :primary_key - :integer - when :string - :string - end - end - end end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/lib/active_record/connection_adapters/nulldb_adapter/core.rb ruby-activerecord-nulldb-adapter-0.8.0/lib/active_record/connection_adapters/nulldb_adapter/core.rb --- ruby-activerecord-nulldb-adapter-0.4.0/lib/active_record/connection_adapters/nulldb_adapter/core.rb 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/lib/active_record/connection_adapters/nulldb_adapter/core.rb 2021-11-03 19:49:17.000000000 +0000 @@ -34,8 +34,7 @@ self.class.const_get(config[:table_definition_class_name])) end - register_types unless NullDB::LEGACY_ACTIVERECORD || \ - ActiveRecord::VERSION::MAJOR < 4 + register_types end # A log of every statement that has been "executed" by this connection adapter @@ -74,44 +73,40 @@ yield table_definition if block_given? - @tables[table_name] = table_definition + @tables[table_name.to_s] = table_definition end - def add_index(table_name, column_names, options = {}) - column_names = Array.wrap(column_names).map(&:to_s) - index_name, index_type, ignore = add_index_options(table_name, column_names, options) - @indexes[table_name] << IndexDefinition.new(table_name, index_name, (index_type == 'UNIQUE'), column_names, [], []) + def rename_table(table_name, new_name) + table_definition = @tables.delete(table_name.to_s) + + table_definition.name = new_name.to_s + @tables[new_name.to_s] = table_definition end - unless instance_methods.include? :add_index_options - def add_index_options(table_name, column_name, options = {}) - column_names = Array.wrap(column_name) - index_name = index_name(table_name, :column => column_names) - - if Hash === options # legacy support, since this param was a string - index_type = options[:unique] ? "UNIQUE" : "" - index_name = options[:name].to_s if options.key?(:name) - else - index_type = options - end + def add_index(table_name, column_names, **options) + options[:unique] = false unless options.key?(:unique) + column_names = Array.wrap(column_names).map(&:to_s) - if index_name.length > index_name_length - raise ArgumentError, "Index name '#{index_name}' on table '#{table_name}' is too long; the limit is #{index_name_length} characters" - end - if index_name_exists?(table_name, index_name, false) - raise ArgumentError, "Index name '#{index_name}' on table '#{table_name}' already exists" - end - index_columns = quoted_columns_for_index(column_names, options).join(", ") + index, index_type, ignore = add_index_options(table_name, column_names, **options) - [index_name, index_type, index_columns] + if index.is_a?(ActiveRecord::ConnectionAdapters::IndexDefinition) + @indexes[table_name] << index + else + # Rails < 6.1 + @indexes[table_name] << IndexDefinition.new(table_name, index, (index_type == 'UNIQUE'), column_names, [], []) end end - unless instance_methods.include? :index_name_exists? - def index_name_exists?(table_name, index_name, default) - return default unless respond_to?(:indexes) - index_name = index_name.to_s - indexes(table_name).detect { |i| i.name == index_name } + # Rails 6.1+ + if ActiveRecord::VERSION::MAJOR >= 7 || (ActiveRecord::VERSION::MAJOR >= 6 and ActiveRecord::VERSION::MINOR > 0) + def remove_index(table_name, column_name = nil, **options ) + index_name = index_name_for_remove(table_name, column_name, options) + index = @indexes[table_name].reject! { |index| index.name == index_name } + end + else + def remove_index(table_name, options = {} ) + index_name = index_name_for_remove(table_name, options) + index = @indexes[table_name].reject! { |index| index.name == index_name } end end @@ -150,7 +145,7 @@ if table = @tables[table_name] table.columns.map do |col_def| - col_args = new_column_arguments(col_def) + col_args = default_column_arguments(col_def) ActiveRecord::ConnectionAdapters::NullDBAdapter::Column.new(*col_args) end else @@ -225,12 +220,51 @@ end def primary_key(table_name) - columns(table_name).detect { |col| col.sql_type == :primary_key }.try(:name) + columns(table_name).detect { |col| col.type == :primary_key }.try(:name) + end + + def add_column(table_name, column_name, type, **options) + super + + table_meta = @tables[table_name.to_s] + return unless table_meta + + table_meta.column column_name, type, **options + end + + def change_column(table_name, column_name, type, options = {}) + table_meta = @tables[table_name.to_s] + column = table_meta.columns.find { |column| column.name == column_name.to_s } + return unless column + + column.type = type + column.options = options if options + end + + def rename_column(table_name, column_name, new_column_name) + table_meta = @tables[table_name.to_s] + column = table_meta.columns.find { |column| column.name == column_name.to_s } + return unless column + + column.name = new_column_name + end + + def change_column_default(table_name, column_name, default_or_changes) + table_meta = @tables[table_name.to_s] + column = table_meta.columns.find { |column| column.name == column_name.to_s } + + return unless column + + if default_or_changes.kind_of? Hash + column.default = default_or_changes[:to] + else + column.default = default_or_changes + end end protected - def select(statement, name = nil, binds = []) + def select(statement, name = nil, binds = [], prepare: nil, async: nil) EmptyResult.new.tap do |r| r.bind_column_meta(columns_for(name)) self.execution_log << Statement.new(entry_point, statement) @@ -279,80 +313,43 @@ def new_table_definition(adapter = nil, table_name = nil, is_temporary = nil, options = {}) case ::ActiveRecord::VERSION::MAJOR - when 6 + when 6, 7 TableDefinition.new(self, table_name, temporary: is_temporary, options: options.except(:id)) when 5 TableDefinition.new(table_name, is_temporary, options.except(:id), nil) - when 4 - TableDefinition.new(native_database_types, table_name, is_temporary, options) - when 2,3 - TableDefinition.new(adapter) else raise "Unsupported ActiveRecord version #{::ActiveRecord::VERSION::STRING}" end end - def new_column_arguments(col_def) - args_with_optional_cast_type(col_def) - end - - def args_with_optional_cast_type(col_def) - default_column_arguments(col_def).tap do |args| - if defined?(ActiveRecord::ConnectionAdapters::SqlTypeMetadata) - meta = ActiveRecord::ConnectionAdapters::SqlTypeMetadata.new(sql_type: col_def.type) - args.insert(2, meta_with_limit!(meta, col_def)) - elsif initialize_column_with_cast_type? - args.insert(2, meta_with_limit!(lookup_cast_type(col_def.type), col_def)) - else - args[2] = args[2].to_s + "(#{col_def.limit})" if col_def.limit - end - end - end - - def meta_with_limit!(meta, col_def) - meta.instance_variable_set('@limit', col_def.limit) - meta - end - def default_column_arguments(col_def) - if ActiveRecord::VERSION::MAJOR >= 5 - [ - col_def.name.to_s, - col_def.default, - col_def.null.nil? || col_def.null # cast [false, nil, true] => [false, true, true], other adapters default to null=true - ] - else - [ - col_def.name.to_s, - col_def.default, - col_def.type, - col_def.null.nil? || col_def.null # cast [false, nil, true] => [false, true, true], other adapters default to null=true - ] - end + [ + col_def.name.to_s, + col_def.default.present? ? col_def.default.to_s : nil, + sql_type_definition(col_def), + col_def.null.nil? || col_def.null + ] end - def initialize_column_with_cast_type? - ::ActiveRecord::VERSION::MAJOR == 4 && ::ActiveRecord::VERSION::MINOR >= 2 + def sql_type_definition(col_def) + ActiveRecord::ConnectionAdapters::SqlTypeMetadata.new( + type: col_def.type, + sql_type: col_def.type.to_s, + limit: col_def.limit + ) end def initialize_args - return [nil, @logger, @config] if ActiveRecord::VERSION::MAJOR > 3 - [nil, @logger] + [nil, @logger, @config] end - # 4.2 introduced ActiveRecord::Type - # https://github.com/rails/rails/tree/4-2-stable/activerecord/lib/active_record def register_types - if ActiveRecord::VERSION::MAJOR < 5 - type_map.register_type(:primary_key, ActiveRecord::Type::Integer.new) - else - require 'active_model/type' - ActiveRecord::Type.register( - :primary_key, - ActiveModel::Type::Integer, - adapter: adapter_name, - override: true - ) - end + require 'active_model/type' + ActiveRecord::Type.register( + :primary_key, + ActiveModel::Type::Integer, + adapter: adapter_name, + override: true + ) end end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/lib/active_record/connection_adapters/nulldb_adapter/table_definition.rb ruby-activerecord-nulldb-adapter-0.8.0/lib/active_record/connection_adapters/nulldb_adapter/table_definition.rb --- ruby-activerecord-nulldb-adapter-0.4.0/lib/active_record/connection_adapters/nulldb_adapter/table_definition.rb 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/lib/active_record/connection_adapters/nulldb_adapter/table_definition.rb 2021-11-03 19:49:17.000000000 +0000 @@ -1,5 +1,13 @@ class ActiveRecord::ConnectionAdapters::NullDBAdapter - TableDefinition = ActiveRecord::ConnectionAdapters::TableDefinition - + class TableDefinition < ActiveRecord::ConnectionAdapters::TableDefinition + attr_accessor :name + alias_method :uuid, :string + alias_method :citext, :text + alias_method :interval, :text + alias_method :geometry, :text + alias_method :serial, :integer + alias_method :inet, :string + alias_method :jsonb, :json if method_defined? :json + end end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/lib/nulldb/core.rb ruby-activerecord-nulldb-adapter-0.8.0/lib/nulldb/core.rb --- ruby-activerecord-nulldb-adapter-0.4.0/lib/nulldb/core.rb 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/lib/nulldb/core.rb 2021-11-03 19:49:17.000000000 +0000 @@ -3,9 +3,6 @@ require 'active_record/connection_adapters/nulldb_adapter' module NullDB - LEGACY_ACTIVERECORD = - Gem::Version.new(ActiveRecord::VERSION::STRING) < Gem::Version.new('4.2.0') - class Configuration < Struct.new(:project_root); end class << self diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/lib/nulldb/version.rb ruby-activerecord-nulldb-adapter-0.8.0/lib/nulldb/version.rb --- ruby-activerecord-nulldb-adapter-0.4.0/lib/nulldb/version.rb 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/lib/nulldb/version.rb 2021-11-03 19:49:17.000000000 +0000 @@ -1,3 +1,3 @@ module NullDB - VERSION = "0.4.0" + VERSION = "0.8.0" end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/README.rdoc ruby-activerecord-nulldb-adapter-0.8.0/README.rdoc --- ruby-activerecord-nulldb-adapter-0.4.0/README.rdoc 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/README.rdoc 2021-11-03 19:49:17.000000000 +0000 @@ -1,6 +1,6 @@ {Gem Version}[http://badge.fury.io/rb/activerecord-nulldb-adapter] {}[https://codeclimate.com/github/nulldb/nulldb] -{Build Status}[https://travis-ci.org/nulldb/nulldb] +{Build Status}[https://github.com/nulldb/nulldb/actions] = The NullDB Connection Adapter Plugin @@ -16,14 +16,14 @@ == Compatibility === Ruby -Currently supported Ruby versions: MRI 2.2.x, 2.3.x, 2.4.x, 2.5.x, 2.6.x +Currently supported Ruby versions: MRI 2.5.x, 2.6.x, 2.7.x, 3.X. -Experimental support provided for: JRuby, Rubinius +Experimental support provided for: JRuby === ActiveRecord -Any version of ActiveRecord since 2.0, including ActiveRecord 5.0 +Any version of ActiveRecord >= 5.2 -It is tested against AR 2.3, 3.0, 3.1, 3.2, 4.0, 4.1, 4.2 and 5.0. +It is tested against AR 5.2, 6.0, 6.1 and master branch. == Installation @@ -46,11 +46,17 @@ NullDB comes with RSpec integration. To replace the database with NullDB in all of your specs, put the following in your -spec/spec_helper: +spec/rails_helper: require 'nulldb_rspec' include NullDB::RSpec::NullifiedDatabase +after you load your rails environment + + require File.expand_path('../config/environment', __dir__) + +otherwise you will encounter issues such as (bug)[https://github.com/nulldb/nulldb/pull/90#issuecomment-496690958]. + Or if you just want to use NullDB in a specific spec context, you can include the same module inside a context: @@ -136,7 +142,8 @@ == Who NullDB was originally written by Avdi Grimm . -It is currently maintained by {Bram de Vries}[https://github.com/blaet]. +It is currently maintained by {Danilo Cabello}[https://github.com/cabello]. +Previously maintained by: {Bram de Vries}[https://github.com/blaet]. == Where diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/spec/nulldb_spec.rb ruby-activerecord-nulldb-adapter-0.8.0/spec/nulldb_spec.rb --- ruby-activerecord-nulldb-adapter-0.4.0/spec/nulldb_spec.rb 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/spec/nulldb_spec.rb 2021-11-03 19:49:17.000000000 +0000 @@ -11,12 +11,7 @@ require 'active_record/version' $: << File.join(File.dirname(__FILE__), "..", "lib") -if ActiveRecord::VERSION::MAJOR > 2 - require 'rspec' # rspec 2 -else - require 'spec' # rspec 1 -end - +require 'rspec' require 'nulldb_rspec' class Employee < ActiveRecord::Base @@ -75,6 +70,7 @@ t.date :hire_date t.integer :employee_number t.decimal :salary + t.boolean :active, default: true end create_table(:employees_widgets, :id => false, :force => true) do |t| @@ -84,6 +80,8 @@ add_index "employees", :name, :name => "index_employees_on_name" add_index "employees", ["employee_number"], :name => "index_employees_on_employee_number", :unique => true + add_index "employees", :hire_date + remove_index "employees", :hire_date add_index "employees_widgets", ["employee_id", "widget_id"], :name => "my_index" add_fk_constraint "foo", "bar", "baz", "buz", "bungle" @@ -111,6 +109,7 @@ should_have_column(Employee, :hire_date, :date) should_have_column(Employee, :employee_number, :integer) should_have_column(Employee, :salary, :decimal) + should_have_column(Employee, :active, :boolean) end it 'should have limit on name' do @@ -125,6 +124,14 @@ expect(Employee.columns_hash['name'].null).to be false end + it "should stringify default values" do + expect(Employee.columns_hash['active'].default).to eq "true" + end + + it "should have no default for employee_number" do + expect(Employee.columns_hash['employee_number'].default).to eq nil + end + it "should return the appropriate primary key" do expect( ActiveRecord::Base.connection.primary_key('employees') ).to eq 'id' end @@ -265,7 +272,7 @@ end - it "should support adding indexes" do + it "should support adding and removing indexes" do expect( Employee.connection.indexes('employees').size ).to eq 2 expect( Employee.connection.indexes('employees_widgets').size ).to eq 1 end @@ -288,13 +295,19 @@ expect { NullDB.nullify }.to_not raise_error end - it 'should handle count queries' do + it 'should handle count queries' do expect(Employee.count).to eql(0) end end # need a fallback db for contextual nullification -ActiveRecord::Base.configurations['test'] = {'adapter' => 'nulldb'} +if defined?(ActiveRecord::DatabaseConfigurations) + db_config = { 'test' => {'adapter' => 'nulldb'} } + ActiveRecord::Base.configurations = ActiveRecord::DatabaseConfigurations.new(db_config) +else + # Support ActiveRecord 5 + ActiveRecord::Base.configurations['test'] = {'adapter' => 'nulldb'} +end describe NullDB::RSpec::NullifiedDatabase do describe 'have_executed rspec matcher' do @@ -324,6 +337,131 @@ end end +describe 'table changes' do + before(:each) do + ActiveRecord::Base.establish_connection :adapter => :nulldb + ActiveRecord::Migration.verbose = false + + ActiveRecord::Schema.define do + create_table(:employees) do |t| + t.string :name, null: false, limit: 50 + t.date :hire_date + t.integer :employee_number + t.decimal :salary + end + end + end + + def should_have_column(klass, col_name, col_type) + col = klass.columns_hash[col_name.to_s] + expect(col.sql_type.to_s.gsub(/\([0-9]+\)/, "").to_sym).to eq col_type + end + + describe 'rename_table' do + it 'should rename a table' do + expect{ + ActiveRecord::Schema.define do + rename_table :employees, :workers + end + }.to_not raise_error + + class Worker < ActiveRecord::Base + after_save :on_save_finished + + def on_save_finished + end + end + + should_have_column(Worker, :name, :string) + should_have_column(Worker, :hire_date, :date) + should_have_column(Worker, :employee_number, :integer) + should_have_column(Worker, :salary, :decimal) + + worker = Worker.create(:name => "Bob Jones") + expect(worker.name).to eq "Bob Jones" + end + end + + describe 'add_column' do + it 'should add a column to an existing table' do + expect{ + ActiveRecord::Schema.define do + add_column :employees, :title, :string + end + Employee.connection.schema_cache.clear! + Employee.reset_column_information + }.to_not raise_error + + should_have_column(Employee, :name, :string) + should_have_column(Employee, :hire_date, :date) + should_have_column(Employee, :employee_number, :integer) + should_have_column(Employee, :salary, :decimal) + should_have_column(Employee, :title, :string) + end + end + + describe 'change_column' do + it 'should change the column type' do + expect{ + ActiveRecord::Schema.define do + change_column :employees, :name, :text + end + Employee.connection.schema_cache.clear! + Employee.reset_column_information + }.to_not raise_error + + should_have_column(Employee, :name, :text) + should_have_column(Employee, :hire_date, :date) + should_have_column(Employee, :employee_number, :integer) + should_have_column(Employee, :salary, :decimal) + end + end + + describe 'rename_column' do + it 'should rename a column' do + expect{ + ActiveRecord::Schema.define do + rename_column :employees, :name, :full_name + end + Employee.connection.schema_cache.clear! + Employee.reset_column_information + }.to_not raise_error + + should_have_column(Employee, :full_name, :string) + should_have_column(Employee, :hire_date, :date) + should_have_column(Employee, :employee_number, :integer) + should_have_column(Employee, :salary, :decimal) + end + end + + describe 'change_column_default' do + it 'should change default value of a column' do + expect{ + ActiveRecord::Schema.define do + change_column_default :employees, :name, 'Jon Doe' + end + Employee.connection.schema_cache.clear! + Employee.reset_column_information + }.to_not raise_error + + columns = Employee.columns + expect(columns.second.default).to eq('Jon Doe') + end + + it 'should change default value of a with has syntax' do + expect{ + ActiveRecord::Schema.define do + change_column_default :employees, :name, from: nil, to: 'Jon Doe' + end + Employee.connection.schema_cache.clear! + Employee.reset_column_information + }.to_not raise_error + + columns = Employee.columns + expect(columns.second.default).to eq('Jon Doe') + end + end +end describe 'adapter-specific extensions' do before(:all) do @@ -331,6 +469,11 @@ ActiveRecord::Migration.verbose = false end + def should_have_column(klass, col_name, col_type) + col = klass.columns_hash[col_name.to_s] + expect(col.sql_type.to_s.gsub(/\([0-9]+\)/, "").to_sym).to eq col_type + end + it "supports 'enable_extension' in the schema definition" do expect{ ActiveRecord::Schema.define do @@ -339,11 +482,30 @@ }.to_not raise_error end - if ActiveRecord::VERSION::MAJOR > 4 - it 'registers a primary_key type' do - expect(ActiveRecord::Type.lookup(:primary_key, adapter: 'NullDB')) - .to be_a(ActiveModel::Type::Integer) + it 'supports postgres extension columns' do + expect { + ActiveRecord::Schema.define do + create_table :extended_models do |t| + t.citext :text + t.interval :time_interval + t.geometry :feature_geometry, srid: 4326, type: "multi_polygon" + t.jsonb :jsonb_column + end + end + }.to_not raise_error + + class ExtendedModel < ActiveRecord::Base end + + should_have_column(ExtendedModel, :text, :text) + should_have_column(ExtendedModel, :time_interval, :text) + should_have_column(ExtendedModel, :feature_geometry, :text) + should_have_column(ExtendedModel, :jsonb_column, :json) + end + + it 'registers a primary_key type' do + expect(ActiveRecord::Type.lookup(:primary_key, adapter: 'NullDB')) + .to be_a(ActiveModel::Type::Integer) end end diff -Nru ruby-activerecord-nulldb-adapter-0.4.0/.travis.yml ruby-activerecord-nulldb-adapter-0.8.0/.travis.yml --- ruby-activerecord-nulldb-adapter-0.4.0/.travis.yml 2019-07-26 11:05:38.000000000 +0000 +++ ruby-activerecord-nulldb-adapter-0.8.0/.travis.yml 1970-01-01 00:00:00.000000000 +0000 @@ -1,75 +0,0 @@ -language: ruby -cache: bundler -bundler_args: --without development -sudo: false - -rvm: - - 2.2 - - 2.3 - - 2.4 - - 2.5 - - 2.6 - - jruby - - rbx - -gemfile: - - gemfiles/activerecord_2.3.gemfile - - gemfiles/activerecord_3.2.gemfile - - gemfiles/activerecord_4.0.gemfile - - gemfiles/activerecord_4.1.gemfile - - gemfiles/activerecord_4.2.gemfile - - gemfiles/activerecord_5.0.gemfile - - gemfiles/activerecord_5.1.gemfile - - gemfiles/activerecord_6.0.gemfile - - gemfiles/activerecord_master.gemfile - -matrix: - fast_finish: true - allow_failures: - - rvm: jruby - - rvm: rbx - - gemfile: gemfiles/activerecord_master.gemfile - exclude: - - rvm: 2.2 - gemfile: gemfiles/activerecord_2.3.gemfile - - rvm: 2.2 - gemfile: gemfiles/activerecord_6.0.gemfile - - rvm: 2.2 - gemfile: gemfiles/activerecord_master.gemfile - - rvm: 2.3 - gemfile: gemfiles/activerecord_2.3.gemfile - - rvm: 2.3 - gemfile: gemfiles/activerecord_6.0.gemfile - - rvm: 2.3 - gemfile: gemfiles/activerecord_master.gemfile - - rvm: 2.4 - gemfile: gemfiles/activerecord_2.3.gemfile - - rvm: 2.4 - gemfile: gemfiles/activerecord_3.2.gemfile - - rvm: 2.4 - gemfile: gemfiles/activerecord_4.0.gemfile - - rvm: 2.4 - gemfile: gemfiles/activerecord_4.1.gemfile - - rvm: 2.4 - gemfile: gemfiles/activerecord_6.0.gemfile - - rvm: 2.4 - gemfile: gemfiles/activerecord_master.gemfile - - rvm: 2.5 - gemfile: gemfiles/activerecord_2.3.gemfile - - rvm: 2.5 - gemfile: gemfiles/activerecord_3.2.gemfile - - rvm: 2.5 - gemfile: gemfiles/activerecord_4.0.gemfile - - rvm: 2.5 - gemfile: gemfiles/activerecord_4.1.gemfile - - rvm: 2.6 - gemfile: gemfiles/activerecord_2.3.gemfile - - rvm: 2.6 - gemfile: gemfiles/activerecord_3.2.gemfile - - rvm: 2.6 - gemfile: gemfiles/activerecord_4.0.gemfile - - rvm: 2.6 - gemfile: gemfiles/activerecord_4.1.gemfile - - -