From 2846ddd06f0d949c6fe088965e5ad03dd6f74486 Mon Sep 17 00:00:00 2001 From: Geremia Taglialatela Date: Wed, 19 May 2021 11:14:32 +0200 Subject: [PATCH] Add Rails 6.1 compatibility --- .travis.yml | 9 ++++++ Appraisals | 4 +++ gemfiles/rails_6.1.gemfile | 7 +++++ .../adapters/active_record/compatibility.rb | 1 + .../active_record/compatibility/v61.rb | 30 +++++++++++++++++++ 5 files changed, 51 insertions(+) create mode 100644 gemfiles/rails_6.1.gemfile create mode 100644 lib/eaco/adapters/active_record/compatibility/v61.rb diff --git a/.travis.yml b/.travis.yml index 36bf6d8..b68397e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,6 +22,7 @@ gemfile: - gemfiles/rails_5.1.gemfile - gemfiles/rails_5.2.gemfile - gemfiles/rails_6.0.gemfile + - gemfiles/rails_6.1.gemfile jobs: exclude: @@ -33,9 +34,13 @@ jobs: gemfile: gemfiles/rails_5.2.gemfile - rvm: 2.1.10 gemfile: gemfiles/rails_6.0.gemfile + - rvm: 2.1.10 + gemfile: gemfiles/rails_6.1.gemfile - rvm: 2.2.10 gemfile: gemfiles/rails_6.0.gemfile + - rvm: 2.2.10 + gemfile: gemfiles/rails_6.1.gemfile - rvm: 2.3.8 gemfile: gemfiles/rails_4.0.gemfile @@ -43,6 +48,8 @@ jobs: gemfile: gemfiles/rails_4.1.gemfile - rvm: 2.3.8 gemfile: gemfiles/rails_6.0.gemfile + - rvm: 2.3.8 + gemfile: gemfiles/rails_6.1.gemfile - rvm: 2.4.10 gemfile: gemfiles/rails_3.2.gemfile @@ -52,6 +59,8 @@ jobs: gemfile: gemfiles/rails_4.1.gemfile - rvm: 2.4.10 gemfile: gemfiles/rails_6.0.gemfile + - rvm: 2.4.10 + gemfile: gemfiles/rails_6.1.gemfile - rvm: 2.5.9 gemfile: gemfiles/rails_3.2.gemfile diff --git a/Appraisals b/Appraisals index b311855..b23d58c 100644 --- a/Appraisals +++ b/Appraisals @@ -38,3 +38,7 @@ end appraise 'rails-6.0' do gem 'rails', '~> 6.0.0' end + +appraise 'rails-6.1' do + gem 'rails', '~> 6.1.0' +end diff --git a/gemfiles/rails_6.1.gemfile b/gemfiles/rails_6.1.gemfile new file mode 100644 index 0000000..dd95a47 --- /dev/null +++ b/gemfiles/rails_6.1.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "rails", "~> 6.1.0" + +gemspec path: "../" diff --git a/lib/eaco/adapters/active_record/compatibility.rb b/lib/eaco/adapters/active_record/compatibility.rb index 1e15bbe..ae1ee94 100644 --- a/lib/eaco/adapters/active_record/compatibility.rb +++ b/lib/eaco/adapters/active_record/compatibility.rb @@ -14,6 +14,7 @@ class Compatibility autoload :V51, 'eaco/adapters/active_record/compatibility/v51.rb' autoload :V52, 'eaco/adapters/active_record/compatibility/v52.rb' autoload :V60, 'eaco/adapters/active_record/compatibility/v60.rb' + autoload :V61, 'eaco/adapters/active_record/compatibility/v61.rb' autoload :Scoped, 'eaco/adapters/active_record/compatibility/scoped.rb' autoload :Sanitized, 'eaco/adapters/active_record/compatibility/sanitized.rb' diff --git a/lib/eaco/adapters/active_record/compatibility/v61.rb b/lib/eaco/adapters/active_record/compatibility/v61.rb new file mode 100644 index 0000000..ed9c85c --- /dev/null +++ b/lib/eaco/adapters/active_record/compatibility/v61.rb @@ -0,0 +1,30 @@ +module Eaco + module Adapters + module ActiveRecord + class Compatibility + + ## + # Rails 6.1 support module. + # + # JSONB works correctly, but we need +.scoped+ so we revive it through + # the {Scoped} support module. + # + # @see Scoped + # + # Sanitize has dissapeared in favour of quote. + # + # @see Sanitized + # + module V61 + extend ActiveSupport::Concern + + included do + extend Scoped + extend Sanitized + end + end + + end + end + end +end