From 43ef7b9a30216cb6c36f9e051ac67c5849cad5c7 Mon Sep 17 00:00:00 2001 From: Wei-Ping Liao Date: Thu, 2 Jan 2020 13:08:33 -0800 Subject: [PATCH 1/4] Update Ruby 2.6.2 to 2.6.3 --- .circleci/config.yml | 6 +++--- Appraisals | 2 +- ...y_2.6.2_rails507.gemfile => ruby_2.6.3_rails507.gemfile} | 0 ...y_2.6.2_rails516.gemfile => ruby_2.6.3_rails516.gemfile} | 0 ...y_2.6.2_rails521.gemfile => ruby_2.6.3_rails521.gemfile} | 0 ...y_2.6.2_rails522.gemfile => ruby_2.6.3_rails522.gemfile} | 0 6 files changed, 4 insertions(+), 4 deletions(-) rename gemfiles/{ruby_2.6.2_rails507.gemfile => ruby_2.6.3_rails507.gemfile} (100%) rename gemfiles/{ruby_2.6.2_rails516.gemfile => ruby_2.6.3_rails516.gemfile} (100%) rename gemfiles/{ruby_2.6.2_rails521.gemfile => ruby_2.6.3_rails521.gemfile} (100%) rename gemfiles/{ruby_2.6.2_rails522.gemfile => ruby_2.6.3_rails522.gemfile} (100%) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2b096d0..f75c4ab 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -20,9 +20,9 @@ jobs: steps: - bundle_install_and_test - test-ruby-262: + test-ruby-263: docker: - - image: circleci/ruby:2.6.2 + - image: circleci/ruby:2.6.3 steps: - bundle_install_and_test @@ -33,5 +33,5 @@ workflows: context: appfolio_test_context - test-ruby-253: context: appfolio_test_context - - test-ruby-262: + - test-ruby-263: context: appfolio_test_context diff --git a/Appraisals b/Appraisals index 36e3180..3f16ab6 100644 --- a/Appraisals +++ b/Appraisals @@ -1,6 +1,6 @@ case RUBY_VERSION -when '2.3.3', '2.5.3', '2.6.2' then +when '2.3.3', '2.5.3', '2.6.3' then appraise "ruby-#{RUBY_VERSION}-rails507" do gem 'rails', '5.0.7' diff --git a/gemfiles/ruby_2.6.2_rails507.gemfile b/gemfiles/ruby_2.6.3_rails507.gemfile similarity index 100% rename from gemfiles/ruby_2.6.2_rails507.gemfile rename to gemfiles/ruby_2.6.3_rails507.gemfile diff --git a/gemfiles/ruby_2.6.2_rails516.gemfile b/gemfiles/ruby_2.6.3_rails516.gemfile similarity index 100% rename from gemfiles/ruby_2.6.2_rails516.gemfile rename to gemfiles/ruby_2.6.3_rails516.gemfile diff --git a/gemfiles/ruby_2.6.2_rails521.gemfile b/gemfiles/ruby_2.6.3_rails521.gemfile similarity index 100% rename from gemfiles/ruby_2.6.2_rails521.gemfile rename to gemfiles/ruby_2.6.3_rails521.gemfile diff --git a/gemfiles/ruby_2.6.2_rails522.gemfile b/gemfiles/ruby_2.6.3_rails522.gemfile similarity index 100% rename from gemfiles/ruby_2.6.2_rails522.gemfile rename to gemfiles/ruby_2.6.3_rails522.gemfile From cae7a53a13bacce902afc9a69456b9855a555bc3 Mon Sep 17 00:00:00 2001 From: Wei-Ping Liao Date: Thu, 2 Jan 2020 13:22:48 -0800 Subject: [PATCH 2/4] Fix sprockets error Sprockets 4 requires app/assets/config/manifest.js to be present. For now we can limit it to be < 4. --- Gemfile | 1 + gemfiles/ruby_2.3.3_rails507.gemfile | 1 + gemfiles/ruby_2.3.3_rails516.gemfile | 1 + gemfiles/ruby_2.3.3_rails521.gemfile | 1 + gemfiles/ruby_2.3.3_rails522.gemfile | 1 + gemfiles/ruby_2.5.3_rails507.gemfile | 1 + gemfiles/ruby_2.5.3_rails516.gemfile | 1 + gemfiles/ruby_2.5.3_rails521.gemfile | 1 + gemfiles/ruby_2.5.3_rails522.gemfile | 1 + gemfiles/ruby_2.6.3_rails507.gemfile | 1 + gemfiles/ruby_2.6.3_rails516.gemfile | 1 + gemfiles/ruby_2.6.3_rails521.gemfile | 1 + gemfiles/ruby_2.6.3_rails522.gemfile | 1 + 13 files changed, 13 insertions(+) diff --git a/Gemfile b/Gemfile index 1d13fea..43262b5 100644 --- a/Gemfile +++ b/Gemfile @@ -4,4 +4,5 @@ gemspec gem 'appraisal', '~> 2.1' gem 'mocha', '~> 1.0', require: false +gem 'sprockets', '< 4' gem 'sqlite3', '~> 1.3.0' diff --git a/gemfiles/ruby_2.3.3_rails507.gemfile b/gemfiles/ruby_2.3.3_rails507.gemfile index 3284664..b4ec1a5 100644 --- a/gemfiles/ruby_2.3.3_rails507.gemfile +++ b/gemfiles/ruby_2.3.3_rails507.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "appraisal", "~> 2.1" gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" gem "sqlite3", "~> 1.3.0" gem "rails", "5.0.7" gem "grape", "1.1.0" diff --git a/gemfiles/ruby_2.3.3_rails516.gemfile b/gemfiles/ruby_2.3.3_rails516.gemfile index 07645a8..481987b 100644 --- a/gemfiles/ruby_2.3.3_rails516.gemfile +++ b/gemfiles/ruby_2.3.3_rails516.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "appraisal", "~> 2.1" gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" gem "sqlite3", "~> 1.3.0" gem "rails", "5.1.6" gem "grape", "1.2.3" diff --git a/gemfiles/ruby_2.3.3_rails521.gemfile b/gemfiles/ruby_2.3.3_rails521.gemfile index a0155dc..bdf9e14 100644 --- a/gemfiles/ruby_2.3.3_rails521.gemfile +++ b/gemfiles/ruby_2.3.3_rails521.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "appraisal", "~> 2.1" gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" gem "sqlite3", "~> 1.3.0" gem "rails", "5.2.1" gem "grape", "1.2.3" diff --git a/gemfiles/ruby_2.3.3_rails522.gemfile b/gemfiles/ruby_2.3.3_rails522.gemfile index 7420f90..a2fd087 100644 --- a/gemfiles/ruby_2.3.3_rails522.gemfile +++ b/gemfiles/ruby_2.3.3_rails522.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "appraisal", "~> 2.1" gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" gem "sqlite3", "~> 1.3.0" gem "rails", "5.2.2" gem "grape", "1.2.3" diff --git a/gemfiles/ruby_2.5.3_rails507.gemfile b/gemfiles/ruby_2.5.3_rails507.gemfile index 3284664..b4ec1a5 100644 --- a/gemfiles/ruby_2.5.3_rails507.gemfile +++ b/gemfiles/ruby_2.5.3_rails507.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "appraisal", "~> 2.1" gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" gem "sqlite3", "~> 1.3.0" gem "rails", "5.0.7" gem "grape", "1.1.0" diff --git a/gemfiles/ruby_2.5.3_rails516.gemfile b/gemfiles/ruby_2.5.3_rails516.gemfile index 07645a8..481987b 100644 --- a/gemfiles/ruby_2.5.3_rails516.gemfile +++ b/gemfiles/ruby_2.5.3_rails516.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "appraisal", "~> 2.1" gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" gem "sqlite3", "~> 1.3.0" gem "rails", "5.1.6" gem "grape", "1.2.3" diff --git a/gemfiles/ruby_2.5.3_rails521.gemfile b/gemfiles/ruby_2.5.3_rails521.gemfile index a0155dc..bdf9e14 100644 --- a/gemfiles/ruby_2.5.3_rails521.gemfile +++ b/gemfiles/ruby_2.5.3_rails521.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "appraisal", "~> 2.1" gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" gem "sqlite3", "~> 1.3.0" gem "rails", "5.2.1" gem "grape", "1.2.3" diff --git a/gemfiles/ruby_2.5.3_rails522.gemfile b/gemfiles/ruby_2.5.3_rails522.gemfile index 7420f90..a2fd087 100644 --- a/gemfiles/ruby_2.5.3_rails522.gemfile +++ b/gemfiles/ruby_2.5.3_rails522.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "appraisal", "~> 2.1" gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" gem "sqlite3", "~> 1.3.0" gem "rails", "5.2.2" gem "grape", "1.2.3" diff --git a/gemfiles/ruby_2.6.3_rails507.gemfile b/gemfiles/ruby_2.6.3_rails507.gemfile index 3284664..b4ec1a5 100644 --- a/gemfiles/ruby_2.6.3_rails507.gemfile +++ b/gemfiles/ruby_2.6.3_rails507.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "appraisal", "~> 2.1" gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" gem "sqlite3", "~> 1.3.0" gem "rails", "5.0.7" gem "grape", "1.1.0" diff --git a/gemfiles/ruby_2.6.3_rails516.gemfile b/gemfiles/ruby_2.6.3_rails516.gemfile index 07645a8..481987b 100644 --- a/gemfiles/ruby_2.6.3_rails516.gemfile +++ b/gemfiles/ruby_2.6.3_rails516.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "appraisal", "~> 2.1" gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" gem "sqlite3", "~> 1.3.0" gem "rails", "5.1.6" gem "grape", "1.2.3" diff --git a/gemfiles/ruby_2.6.3_rails521.gemfile b/gemfiles/ruby_2.6.3_rails521.gemfile index a0155dc..bdf9e14 100644 --- a/gemfiles/ruby_2.6.3_rails521.gemfile +++ b/gemfiles/ruby_2.6.3_rails521.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "appraisal", "~> 2.1" gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" gem "sqlite3", "~> 1.3.0" gem "rails", "5.2.1" gem "grape", "1.2.3" diff --git a/gemfiles/ruby_2.6.3_rails522.gemfile b/gemfiles/ruby_2.6.3_rails522.gemfile index 7420f90..a2fd087 100644 --- a/gemfiles/ruby_2.6.3_rails522.gemfile +++ b/gemfiles/ruby_2.6.3_rails522.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "appraisal", "~> 2.1" gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" gem "sqlite3", "~> 1.3.0" gem "rails", "5.2.2" gem "grape", "1.2.3" From b492b78e2b7f1086ebf6fc0a49d8f2ea08d78170 Mon Sep 17 00:00:00 2001 From: Wei-Ping Liao Date: Thu, 2 Jan 2020 13:25:08 -0800 Subject: [PATCH 3/4] Add rails 6 support --- Appraisals | 9 +++++++++ declarative_authorization.gemspec | 2 +- gemfiles/ruby_2.5.3_rails6.gemfile | 13 +++++++++++++ gemfiles/ruby_2.6.3_rails6.gemfile | 13 +++++++++++++ 4 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 gemfiles/ruby_2.5.3_rails6.gemfile create mode 100644 gemfiles/ruby_2.6.3_rails6.gemfile diff --git a/Appraisals b/Appraisals index 3f16ab6..5c3d67f 100644 --- a/Appraisals +++ b/Appraisals @@ -26,6 +26,15 @@ when '2.3.3', '2.5.3', '2.6.3' then gem 'rails-controller-testing' end + if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.5.0') + appraise "ruby-#{RUBY_VERSION}-rails6" do + gem 'rails', '~> 6.0' + gem 'grape', '1.2.3' + gem 'rails-controller-testing' + gem 'sqlite3', '~> 1.4' + end + end + else raise "Unsupported Ruby version #{RUBY_VERSION}" diff --git a/declarative_authorization.gemspec b/declarative_authorization.gemspec index 300026a..b250c31 100644 --- a/declarative_authorization.gemspec +++ b/declarative_authorization.gemspec @@ -20,5 +20,5 @@ Gem::Specification.new do |s| s.require_paths = ['lib'] s.add_dependency(%q, ['~> 0.5.0']) - s.add_dependency(%q, ['>= 4.2.5.2', '< 6']) + s.add_dependency(%q, ['>= 4.2.5.2', '< 7']) end diff --git a/gemfiles/ruby_2.5.3_rails6.gemfile b/gemfiles/ruby_2.5.3_rails6.gemfile new file mode 100644 index 0000000..07f2be4 --- /dev/null +++ b/gemfiles/ruby_2.5.3_rails6.gemfile @@ -0,0 +1,13 @@ +# This file was generated by Appraisal + +source "http://rubygems.org" + +gem "appraisal", "~> 2.1" +gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" +gem "sqlite3", "~> 1.4" +gem "rails", "~> 6.0" +gem "grape", "1.2.3" +gem "rails-controller-testing" + +gemspec path: "../" diff --git a/gemfiles/ruby_2.6.3_rails6.gemfile b/gemfiles/ruby_2.6.3_rails6.gemfile new file mode 100644 index 0000000..07f2be4 --- /dev/null +++ b/gemfiles/ruby_2.6.3_rails6.gemfile @@ -0,0 +1,13 @@ +# This file was generated by Appraisal + +source "http://rubygems.org" + +gem "appraisal", "~> 2.1" +gem "mocha", "~> 1.0", require: false +gem "sprockets", "< 4" +gem "sqlite3", "~> 1.4" +gem "rails", "~> 6.0" +gem "grape", "1.2.3" +gem "rails-controller-testing" + +gemspec path: "../" From 9a2ecb01aa22497ffe06a6801b0c5e47a61d263c Mon Sep 17 00:00:00 2001 From: Wei-Ping Liao Date: Thu, 2 Jan 2020 13:25:48 -0800 Subject: [PATCH 4/4] Fix deprecation warnings --- test/model_test.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/model_test.rb b/test/model_test.rb index 22e11e8..84070dd 100644 --- a/test/model_test.rb +++ b/test/model_test.rb @@ -1410,7 +1410,7 @@ def test_model_security_write_allowed Authorization.stub :current_user, MockUser.new(:test_role) do assert(object = TestModelSecurityModel.create) - assert_nothing_raised { object.update_attributes(:attr_2 => 2) } + assert_nothing_raised { object.update(:attr_2 => 2) } object.reload assert_equal 2, object.attr_2 object.destroy @@ -1441,7 +1441,7 @@ def test_model_security_write_not_allowed_no_privilege Authorization.current_user = MockUser.new(:test_role_restricted) assert_raise Authorization::NotAuthorized do - object.update_attributes(:attr_2 => 2) + object.update(:attr_2 => 2) end end @@ -1471,15 +1471,15 @@ def test_model_security_write_not_allowed_wrong_attribute_value end object = TestModelSecurityModel.create assert_raise Authorization::AttributeAuthorizationError do - object.update_attributes(:attr => 2) + object.update(:attr => 2) end object.reload assert_nothing_raised do - object.update_attributes(:attr_2 => 1) + object.update(:attr_2 => 1) end assert_raise Authorization::AttributeAuthorizationError do - object.update_attributes(:attr => 2) + object.update(:attr => 2) end end end @@ -1625,7 +1625,7 @@ def test_model_security_with_assoc Authorization.stub :current_user, test_attr do assert(object = TestModelSecurityModel.create(:test_attrs => [test_attr])) assert_nothing_raised do - object.update_attributes(:attr_2 => 2) + object.update(:attr_2 => 2) end without_access_control do object.reload @@ -1662,7 +1662,7 @@ def test_model_security_with_update_attrbributes with_user MockUser.new(:test_role, :branch => test_attr.branch) do assert_nothing_raised do - test_model.update_attributes(params[:model_data]) + test_model.update(params[:model_data]) end end without_access_control do