From 52ef45dbb1436a23981bd50f7d1f1717853afd5a Mon Sep 17 00:00:00 2001 From: asgerb Date: Wed, 6 Jul 2022 11:37:11 +0200 Subject: [PATCH 01/18] chore(test): setup CI --- .github/workflows/test.yml | 26 +++++++++++++++++++++ .gitignore | 2 ++ .ruby-version | 2 +- .tool-versions | 1 + .travis.yml | 44 ++++++++++++++++++------------------ Appraisals | 44 ++++++++++++++++++++++++++++++++++++ gemfiles/.bundle/config | 2 ++ gemfiles/mongoid_5.gemfile | 7 ++++++ gemfiles/mongoid_6.gemfile | 7 ++++++ gemfiles/mongoid_7_0.gemfile | 7 ++++++ gemfiles/mongoid_7_1.gemfile | 7 ++++++ gemfiles/mongoid_7_2.gemfile | 7 ++++++ gemfiles/mongoid_7_3.gemfile | 7 ++++++ gemfiles/mongoid_7_4.gemfile | 7 ++++++ gemfiles/rails_5.gemfile | 8 +++++++ gemfiles/rails_6_0.gemfile | 8 +++++++ gemfiles/rails_6_1.gemfile | 8 +++++++ gemfiles/rails_7.gemfile | 8 +++++++ mongoid-archivable.gemspec | 1 + 19 files changed, 180 insertions(+), 23 deletions(-) create mode 100644 .github/workflows/test.yml create mode 100644 .tool-versions create mode 100644 Appraisals create mode 100644 gemfiles/.bundle/config create mode 100644 gemfiles/mongoid_5.gemfile create mode 100644 gemfiles/mongoid_6.gemfile create mode 100644 gemfiles/mongoid_7_0.gemfile create mode 100644 gemfiles/mongoid_7_1.gemfile create mode 100644 gemfiles/mongoid_7_2.gemfile create mode 100644 gemfiles/mongoid_7_3.gemfile create mode 100644 gemfiles/mongoid_7_4.gemfile create mode 100644 gemfiles/rails_5.gemfile create mode 100644 gemfiles/rails_6_0.gemfile create mode 100644 gemfiles/rails_6_1.gemfile create mode 100644 gemfiles/rails_7.gemfile diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..6628cfa --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,26 @@ +name: My workflow +on: [push, pull_request] +concurrency: + group: ${{ github.ref }} + cancel-in-progress: true +jobs: + test: + strategy: + fail-fast: false + matrix: + gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "rails_5", "rails_6_1", "rails_6_7"] + ruby: ["2.7", "3.0", "3.1"] + runs-on: ubuntu-latest + services: + mongodb: + image: mongo + ports: ["27017:27017"] + env: + BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile + steps: + - uses: actions/checkout@v3 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - run: bundle exec rake diff --git a/.gitignore b/.gitignore index 0cb6eeb..095afd3 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ /pkg/ /spec/reports/ /tmp/ + +/gemfiles/*.gemfile.lock diff --git a/.ruby-version b/.ruby-version index e70b452..a603bb5 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.6.0 +2.7.5 diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..a4023dc --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +ruby 2.7.5 diff --git a/.travis.yml b/.travis.yml index ff3db17..ee01cdf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,24 +1,24 @@ -language: ruby -script: 'bundle exec rake' -sudo: false -rvm: - - 2.2.5 -services: - - mongodb +# language: ruby +# script: 'bundle exec rake' +# sudo: false +# rvm: +# - 2.2.5 +# services: +# - mongodb -notifications: - email: - recipients: - - joost@spacebabies.nl - - tomas.celizna@gmail.com - on_failure: change - on_success: never +# notifications: +# email: +# recipients: +# - joost@spacebabies.nl +# - tomas.celizna@gmail.com +# on_failure: change +# on_success: never -matrix: - include: - - rvm: 2.3.3 - env: MONGOID_VERSION=5 - - rvm: 2.3.3 - env: MONGOID_VERSION=6 - - rvm: 2.5.0 - env: MONGOID_VERSION=7 +# matrix: +# include: +# - rvm: 2.3.3 +# env: MONGOID_VERSION=5 +# - rvm: 2.3.3 +# env: MONGOID_VERSION=6 +# - rvm: 2.5.0 +# env: MONGOID_VERSION=7 diff --git a/Appraisals b/Appraisals new file mode 100644 index 0000000..5ddb122 --- /dev/null +++ b/Appraisals @@ -0,0 +1,44 @@ +appraise "mongoid-5" do + gem "mongoid", "~> 5.0" +end + +appraise "mongoid-6" do + gem "mongoid", "~> 6.0" +end + +appraise "mongoid-7-0" do + gem "mongoid", "7.0.13" +end + +appraise "mongoid-7-1" do + gem "mongoid", "7.1.11" +end + +appraise "mongoid-7-2" do + gem "mongoid", "7.2.6" +end + +appraise "mongoid-7-3" do + gem "mongoid", "7.3.4" +end + +appraise "mongoid-7-4" do + gem "mongoid", "7.4.0" +end + +appraise "rails-5" do + gem "rails", "~> 5.0" +end + +appraise "rails-6-0" do + gem "rails", "~> 6.0.0" +end + +appraise "rails-6-1" do + gem "rails", "~> 6.1.0" + gem "mongoid", "7.1.11" +end + +appraise "rails-7" do + gem "rails", "~> 7.0" +end diff --git a/gemfiles/.bundle/config b/gemfiles/.bundle/config new file mode 100644 index 0000000..c127f80 --- /dev/null +++ b/gemfiles/.bundle/config @@ -0,0 +1,2 @@ +--- +BUNDLE_RETRY: "1" diff --git a/gemfiles/mongoid_5.gemfile b/gemfiles/mongoid_5.gemfile new file mode 100644 index 0000000..f7ebaec --- /dev/null +++ b/gemfiles/mongoid_5.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "~> 5.0" + +gemspec path: "../" diff --git a/gemfiles/mongoid_6.gemfile b/gemfiles/mongoid_6.gemfile new file mode 100644 index 0000000..5583fab --- /dev/null +++ b/gemfiles/mongoid_6.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "~> 6.0" + +gemspec path: "../" diff --git a/gemfiles/mongoid_7_0.gemfile b/gemfiles/mongoid_7_0.gemfile new file mode 100644 index 0000000..4d6ccef --- /dev/null +++ b/gemfiles/mongoid_7_0.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "7.0.13" + +gemspec path: "../" diff --git a/gemfiles/mongoid_7_1.gemfile b/gemfiles/mongoid_7_1.gemfile new file mode 100644 index 0000000..0ea830b --- /dev/null +++ b/gemfiles/mongoid_7_1.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "7.1.11" + +gemspec path: "../" diff --git a/gemfiles/mongoid_7_2.gemfile b/gemfiles/mongoid_7_2.gemfile new file mode 100644 index 0000000..cc70833 --- /dev/null +++ b/gemfiles/mongoid_7_2.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "7.2.6" + +gemspec path: "../" diff --git a/gemfiles/mongoid_7_3.gemfile b/gemfiles/mongoid_7_3.gemfile new file mode 100644 index 0000000..2e84f6e --- /dev/null +++ b/gemfiles/mongoid_7_3.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "7.3.4" + +gemspec path: "../" diff --git a/gemfiles/mongoid_7_4.gemfile b/gemfiles/mongoid_7_4.gemfile new file mode 100644 index 0000000..2eba2af --- /dev/null +++ b/gemfiles/mongoid_7_4.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "7.4.0" + +gemspec path: "../" diff --git a/gemfiles/rails_5.gemfile b/gemfiles/rails_5.gemfile new file mode 100644 index 0000000..039c297 --- /dev/null +++ b/gemfiles/rails_5.gemfile @@ -0,0 +1,8 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "~> 7.0" +gem "rails", "~> 5.0" + +gemspec path: "../" diff --git a/gemfiles/rails_6_0.gemfile b/gemfiles/rails_6_0.gemfile new file mode 100644 index 0000000..b361f87 --- /dev/null +++ b/gemfiles/rails_6_0.gemfile @@ -0,0 +1,8 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "~> 7.0" +gem "rails", "~> 6.0.0" + +gemspec path: "../" diff --git a/gemfiles/rails_6_1.gemfile b/gemfiles/rails_6_1.gemfile new file mode 100644 index 0000000..d632597 --- /dev/null +++ b/gemfiles/rails_6_1.gemfile @@ -0,0 +1,8 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "7.1.11" +gem "rails", "~> 6.1.0" + +gemspec path: "../" diff --git a/gemfiles/rails_7.gemfile b/gemfiles/rails_7.gemfile new file mode 100644 index 0000000..fb359c8 --- /dev/null +++ b/gemfiles/rails_7.gemfile @@ -0,0 +1,8 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "~> 7.0" +gem "rails", "~> 7.0" + +gemspec path: "../" diff --git a/mongoid-archivable.gemspec b/mongoid-archivable.gemspec index 4eff57d..f231472 100644 --- a/mongoid-archivable.gemspec +++ b/mongoid-archivable.gemspec @@ -22,6 +22,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'mongoid', '>= 5.0' spec.add_dependency 'activesupport', '>= 4.0.0' + spec.add_development_dependency 'appraisal' spec.add_development_dependency 'bundler' spec.add_development_dependency 'rake' spec.add_development_dependency 'rspec' From 06f955776fe2ba007066040bc9c1e11ae11adb19 Mon Sep 17 00:00:00 2001 From: asgerb Date: Wed, 6 Jul 2022 11:38:23 +0200 Subject: [PATCH 02/18] chore: fix CI --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6628cfa..ed1c262 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "rails_5", "rails_6_1", "rails_6_7"] + gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "rails_5", "rails_6_1", "rails_/"] ruby: ["2.7", "3.0", "3.1"] runs-on: ubuntu-latest services: From 8d6aaadf4e7d7f40f52999af054893d18ac82dda Mon Sep 17 00:00:00 2001 From: asgerb Date: Wed, 6 Jul 2022 11:38:40 +0200 Subject: [PATCH 03/18] chore: fix CI --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ed1c262..a14ff0f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "rails_5", "rails_6_1", "rails_/"] + gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "rails_5", "rails_6_1", "rails_7"] ruby: ["2.7", "3.0", "3.1"] runs-on: ubuntu-latest services: From fadb6dcebfa6b9072ee6796644026d3b113564df Mon Sep 17 00:00:00 2001 From: asgerb Date: Wed, 6 Jul 2022 11:38:56 +0200 Subject: [PATCH 04/18] chore: add rails 6.0 to CI --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a14ff0f..e888c20 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "rails_5", "rails_6_1", "rails_7"] + gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "rails_5", "rails_6_0", "rails_6_1", "rails_7"] ruby: ["2.7", "3.0", "3.1"] runs-on: ubuntu-latest services: From f939129044cc3cefb76bc9b667bd859c18a826cf Mon Sep 17 00:00:00 2001 From: asgerb Date: Wed, 6 Jul 2022 11:47:33 +0200 Subject: [PATCH 05/18] fix: use module_parent in rails 6 and up --- lib/mongoid/archivable/depot.rb | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/mongoid/archivable/depot.rb b/lib/mongoid/archivable/depot.rb index bc3906c..942802f 100644 --- a/lib/mongoid/archivable/depot.rb +++ b/lib/mongoid/archivable/depot.rb @@ -2,26 +2,27 @@ module Mongoid module Archivable module Depot extend ActiveSupport::Concern + included do include ClassMethods end module ClassMethods def has_archive_storage? - !parent.archive_storage.nil? + !parent_class.archive_storage.nil? end def has_archive_client? - has_archive_storage? && !parent.archive_storage[:client].nil? + has_archive_storage? && !parent_class.archive_storage[:client].nil? end def has_archive_database? - has_archive_storage? && !parent.archive_storage[:client].nil? + has_archive_storage? && !parent_class.archive_storage[:client].nil? end def archive_database_name if has_archive_database? - parent.archive_storage[:database] + parent_class.archive_storage[:database] else Mongoid::Archivable.config.get_database end @@ -29,12 +30,22 @@ def archive_database_name def archive_client_name if has_archive_client? - parent.archive_storage[:client] + parent_class.archive_storage[:client] else Mongoid::Archivable.config.get_client end end + + private + + def parent_class + if ActiveSupport::VERSION::MAJOR >= 6 + module_parent + else + parent + end + end end end end -end \ No newline at end of file +end From a578b1f0f23c74c02ec06f38309338293009c0da Mon Sep 17 00:00:00 2001 From: asgerb Date: Wed, 6 Jul 2022 12:05:46 +0200 Subject: [PATCH 06/18] chore: test ruby 2.6, drop 3.0 and 3.1 --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e888c20..74a8b9a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ jobs: fail-fast: false matrix: gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "rails_5", "rails_6_0", "rails_6_1", "rails_7"] - ruby: ["2.7", "3.0", "3.1"] + ruby: ["2.6", "2.7"] runs-on: ubuntu-latest services: mongodb: From 62a112b081eeb6388cf4cfcae534bb308de9ea3c Mon Sep 17 00:00:00 2001 From: asgerb Date: Wed, 6 Jul 2022 12:11:52 +0200 Subject: [PATCH 07/18] chore(ci): only test against 2.7 Didn't realize 2.6 had reached EOL --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 74a8b9a..7cfbf53 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ jobs: fail-fast: false matrix: gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "rails_5", "rails_6_0", "rails_6_1", "rails_7"] - ruby: ["2.6", "2.7"] + ruby: ["2.7"] runs-on: ubuntu-latest services: mongodb: From 50959c75e29ed391e9503c3ab0b3fb4897d5db2b Mon Sep 17 00:00:00 2001 From: asgerb Date: Wed, 6 Jul 2022 12:13:12 +0200 Subject: [PATCH 08/18] chore(ci): lock in mongoid versions --- Appraisals | 4 ++-- gemfiles/mongoid_5.gemfile | 2 +- gemfiles/mongoid_6.gemfile | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Appraisals b/Appraisals index 5ddb122..221702b 100644 --- a/Appraisals +++ b/Appraisals @@ -1,9 +1,9 @@ appraise "mongoid-5" do - gem "mongoid", "~> 5.0" + gem "mongoid", "5.4.1" end appraise "mongoid-6" do - gem "mongoid", "~> 6.0" + gem "mongoid", "6.4.8" end appraise "mongoid-7-0" do diff --git a/gemfiles/mongoid_5.gemfile b/gemfiles/mongoid_5.gemfile index f7ebaec..0552868 100644 --- a/gemfiles/mongoid_5.gemfile +++ b/gemfiles/mongoid_5.gemfile @@ -2,6 +2,6 @@ source "https://rubygems.org" -gem "mongoid", "~> 5.0" +gem "mongoid", "5.4.1" gemspec path: "../" diff --git a/gemfiles/mongoid_6.gemfile b/gemfiles/mongoid_6.gemfile index 5583fab..eeaf5fc 100644 --- a/gemfiles/mongoid_6.gemfile +++ b/gemfiles/mongoid_6.gemfile @@ -2,6 +2,6 @@ source "https://rubygems.org" -gem "mongoid", "~> 6.0" +gem "mongoid", "6.4.8" gemspec path: "../" From c8416bee136a9b90cb3f9bd4010b7907cee3923f Mon Sep 17 00:00:00 2001 From: asgerb Date: Wed, 6 Jul 2022 12:14:46 +0200 Subject: [PATCH 09/18] chore(ci): fix mongoid 5 on ruby 2.7 --- Appraisals | 1 + gemfiles/mongoid_5.gemfile | 1 + 2 files changed, 2 insertions(+) diff --git a/Appraisals b/Appraisals index 221702b..1b83847 100644 --- a/Appraisals +++ b/Appraisals @@ -1,5 +1,6 @@ appraise "mongoid-5" do gem "mongoid", "5.4.1" + gem "bigdecimal", "1.4.2" end appraise "mongoid-6" do diff --git a/gemfiles/mongoid_5.gemfile b/gemfiles/mongoid_5.gemfile index 0552868..6bb78cc 100644 --- a/gemfiles/mongoid_5.gemfile +++ b/gemfiles/mongoid_5.gemfile @@ -3,5 +3,6 @@ source "https://rubygems.org" gem "mongoid", "5.4.1" +gem "bigdecimal", "1.4.2" gemspec path: "../" From 826d2b29da20580375c096fcf8ddfa00c59bea9b Mon Sep 17 00:00:00 2001 From: asgerb Date: Wed, 6 Jul 2022 12:16:29 +0200 Subject: [PATCH 10/18] chore(ci): update workflow name --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7cfbf53..4b9b85f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: My workflow +name: Tests on: [push, pull_request] concurrency: group: ${{ github.ref }} From d545dd103f6c19028f0ed6e79f953ae85ea88bf9 Mon Sep 17 00:00:00 2001 From: asgerb Date: Wed, 6 Jul 2022 12:18:27 +0200 Subject: [PATCH 11/18] chore: add tests badge --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index f7ef1bb..cef8165 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Mongoid::Archivable -[![Build Status](https://travis-ci.org/Sign2Pay/mongoid-archivable.svg)](https://travis-ci.org/Sign2Pay/mongoid-archivable) [![Gem Version](https://badge.fury.io/rb/mongoid-archivable.svg)](http://badge.fury.io/rb/mongoid-archivable) +[![Tests](https://github.com/asgerb/mongoid-archivable/actions/workflows/test.yml/badge.svg)](https://github.com/asgerb/mongoid-archivable/actions/workflows/test.yml) [![Gem Version](https://badge.fury.io/rb/mongoid-archivable.svg)](http://badge.fury.io/rb/mongoid-archivable) Moves Mongoid documents to an archive instead of destroying them. @@ -91,7 +91,6 @@ development: <<: *client_options ``` - ## Development Please report any issues to the [GitHub issue tracker](https://github.com/Sign2Pay/mongoid-archivable/issues). From bc2e66a5ab53e10b9c08d3f8b361c5a826878506 Mon Sep 17 00:00:00 2001 From: asgerb Date: Wed, 6 Jul 2022 12:18:54 +0200 Subject: [PATCH 12/18] chore: remove travis config --- .travis.yml | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ee01cdf..0000000 --- a/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -# language: ruby -# script: 'bundle exec rake' -# sudo: false -# rvm: -# - 2.2.5 -# services: -# - mongodb - -# notifications: -# email: -# recipients: -# - joost@spacebabies.nl -# - tomas.celizna@gmail.com -# on_failure: change -# on_success: never - -# matrix: -# include: -# - rvm: 2.3.3 -# env: MONGOID_VERSION=5 -# - rvm: 2.3.3 -# env: MONGOID_VERSION=6 -# - rvm: 2.5.0 -# env: MONGOID_VERSION=7 From 7e7b31a185bcdfb8dbe243298248dd3d38adbda7 Mon Sep 17 00:00:00 2001 From: asgerb Date: Sat, 27 Jul 2024 10:11:55 +0200 Subject: [PATCH 13/18] fix: mongoid 8 compatibility --- .github/workflows/test.yml | 4 ++-- .ruby-version | 2 +- .tool-versions | 1 - Appraisals | 4 ++++ Gemfile | 3 ++- lib/mongoid/archivable.rb | 4 ++-- 6 files changed, 11 insertions(+), 7 deletions(-) delete mode 100644 .tool-versions diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4b9b85f..eba18be 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,8 +8,8 @@ jobs: strategy: fail-fast: false matrix: - gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "rails_5", "rails_6_0", "rails_6_1", "rails_7"] - ruby: ["2.7"] + gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "mongoid_8", "rails_5", "rails_6_0", "rails_6_1", "rails_7"] + ruby: ["3.1", "3.2", "3.3"] runs-on: ubuntu-latest services: mongodb: diff --git a/.ruby-version b/.ruby-version index a603bb5..a0891f5 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.7.5 +3.3.4 diff --git a/.tool-versions b/.tool-versions deleted file mode 100644 index a4023dc..0000000 --- a/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -ruby 2.7.5 diff --git a/Appraisals b/Appraisals index 1b83847..3adc8dc 100644 --- a/Appraisals +++ b/Appraisals @@ -27,6 +27,10 @@ appraise "mongoid-7-4" do gem "mongoid", "7.4.0" end +appraise "mongoid-8" do + gem "mongoid", "~> 8.0" +end + appraise "rails-5" do gem "rails", "~> 5.0" end diff --git a/Gemfile b/Gemfile index 40f8b85..dc6559f 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,8 @@ source 'https://rubygems.org' # Specify your gem's dependencies in mongoid-archivable.gemspec gemspec -case version = ENV['MONGOID_VERSION'] || '~> 7.0' +case version = ENV['MONGOID_VERSION'] || '~> 8.0' +when /8/ then gem 'mongoid', '~> 8.0' when /7/ then gem 'mongoid', '~> 7.0' when /6/ then gem 'mongoid', '~> 6.0' when /5/ then gem 'mongoid', '~> 5.1' diff --git a/lib/mongoid/archivable.rb b/lib/mongoid/archivable.rb index 9064fcf..c09a332 100644 --- a/lib/mongoid/archivable.rb +++ b/lib/mongoid/archivable.rb @@ -21,7 +21,7 @@ def configure(&proc) end included do - mattr_accessor :archive_storage + class_attribute :archive_storage include Mongoid::Archivable::Gluten const_set('Archive', Class.new) @@ -35,7 +35,7 @@ def configure(&proc) field :archived_at, type: Time field :original_id, type: String field :original_type, type: String - + end before_destroy :archive From 9f229e94b81eabc1d462a5edf47cd53c80651cb7 Mon Sep 17 00:00:00 2001 From: asgerb Date: Sat, 27 Jul 2024 12:20:19 +0200 Subject: [PATCH 14/18] chore: fix appraisals --- Appraisals | 4 +++- gemfiles/mongoid_8.gemfile | 7 +++++++ gemfiles/rails_6_1.gemfile | 2 +- gemfiles/rails_7.gemfile | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 gemfiles/mongoid_8.gemfile diff --git a/Appraisals b/Appraisals index 3adc8dc..dff6a4a 100644 --- a/Appraisals +++ b/Appraisals @@ -33,15 +33,17 @@ end appraise "rails-5" do gem "rails", "~> 5.0" + gem "mongoid", "~> 7.0" end appraise "rails-6-0" do gem "rails", "~> 6.0.0" + gem "mongoid", "~> 7.0" end appraise "rails-6-1" do gem "rails", "~> 6.1.0" - gem "mongoid", "7.1.11" + gem "mongoid", "~> 7.0" end appraise "rails-7" do diff --git a/gemfiles/mongoid_8.gemfile b/gemfiles/mongoid_8.gemfile new file mode 100644 index 0000000..24e0e00 --- /dev/null +++ b/gemfiles/mongoid_8.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "~> 8.0" + +gemspec path: "../" diff --git a/gemfiles/rails_6_1.gemfile b/gemfiles/rails_6_1.gemfile index d632597..c58acef 100644 --- a/gemfiles/rails_6_1.gemfile +++ b/gemfiles/rails_6_1.gemfile @@ -2,7 +2,7 @@ source "https://rubygems.org" -gem "mongoid", "7.1.11" +gem "mongoid", "~> 7.0" gem "rails", "~> 6.1.0" gemspec path: "../" diff --git a/gemfiles/rails_7.gemfile b/gemfiles/rails_7.gemfile index fb359c8..f70b3b7 100644 --- a/gemfiles/rails_7.gemfile +++ b/gemfiles/rails_7.gemfile @@ -2,7 +2,7 @@ source "https://rubygems.org" -gem "mongoid", "~> 7.0" +gem "mongoid", "~> 8.0" gem "rails", "~> 7.0" gemspec path: "../" From bcd946490ae3b4aac88c2b87193ac31f0661415b Mon Sep 17 00:00:00 2001 From: asgerb Date: Mon, 5 Aug 2024 10:04:48 +0200 Subject: [PATCH 15/18] chore: update CHANGELOG --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26de261..bed6127 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# Next + +* Mongoid 8 support + # 1.7.1 * FIX: BSON 4+ returns BSON::Document instead of Hash, [#15](https://github.com/Sign2Pay/mongoid-archivable/pull/15) From 418a8e0d638c49630a8c7946d21f43d0d597246e Mon Sep 17 00:00:00 2001 From: asgerb Date: Sun, 25 Aug 2024 22:44:53 +0200 Subject: [PATCH 16/18] chore: mongoid 9 --- Gemfile | 3 ++- lib/mongoid/archivable/config.rb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index dc6559f..89dd83f 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,8 @@ source 'https://rubygems.org' # Specify your gem's dependencies in mongoid-archivable.gemspec gemspec -case version = ENV['MONGOID_VERSION'] || '~> 8.0' +case version = ENV['MONGOID_VERSION'] || '~> 9.0' +when /9/ then gem 'mongoid', '~> 9.0' when /8/ then gem 'mongoid', '~> 8.0' when /7/ then gem 'mongoid', '~> 7.0' when /6/ then gem 'mongoid', '~> 6.0' diff --git a/lib/mongoid/archivable/config.rb b/lib/mongoid/archivable/config.rb index e64abff..7cdac97 100644 --- a/lib/mongoid/archivable/config.rb +++ b/lib/mongoid/archivable/config.rb @@ -13,4 +13,4 @@ def get_client end end end -end \ No newline at end of file +end From 089bdf6bf1bdcb192ac7c958aee0e03c1956c07e Mon Sep 17 00:00:00 2001 From: asgerb Date: Sun, 25 Aug 2024 22:45:43 +0200 Subject: [PATCH 17/18] chore: add mongoid 9 to ci --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index eba18be..482aaa7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "mongoid_8", "rails_5", "rails_6_0", "rails_6_1", "rails_7"] + gemfile: ["mongoid_5", "mongoid_6", "mongoid_7_0", "mongoid_7_1", "mongoid_7_2", "mongoid_7_3", "mongoid_7_4", "mongoid_8", "mongoid_9", "rails_5", "rails_6_0", "rails_6_1", "rails_7"] ruby: ["3.1", "3.2", "3.3"] runs-on: ubuntu-latest services: From ecf06273a7d6436a75cd31920946005b5cf01626 Mon Sep 17 00:00:00 2001 From: asgerb Date: Sun, 25 Aug 2024 22:48:06 +0200 Subject: [PATCH 18/18] chore: appraisals --- Appraisals | 4 ++++ gemfiles/mongoid_9.gemfile | 7 +++++++ gemfiles/rails_7.gemfile | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 gemfiles/mongoid_9.gemfile diff --git a/Appraisals b/Appraisals index dff6a4a..0e5657f 100644 --- a/Appraisals +++ b/Appraisals @@ -31,6 +31,10 @@ appraise "mongoid-8" do gem "mongoid", "~> 8.0" end +appraise "mongoid-9" do + gem "mongoid", "~> 9.0" +end + appraise "rails-5" do gem "rails", "~> 5.0" gem "mongoid", "~> 7.0" diff --git a/gemfiles/mongoid_9.gemfile b/gemfiles/mongoid_9.gemfile new file mode 100644 index 0000000..3ac8ba3 --- /dev/null +++ b/gemfiles/mongoid_9.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "mongoid", "~> 9.0" + +gemspec path: "../" diff --git a/gemfiles/rails_7.gemfile b/gemfiles/rails_7.gemfile index f70b3b7..95f65ba 100644 --- a/gemfiles/rails_7.gemfile +++ b/gemfiles/rails_7.gemfile @@ -2,7 +2,7 @@ source "https://rubygems.org" -gem "mongoid", "~> 8.0" +gem "mongoid", "~> 9.0" gem "rails", "~> 7.0" gemspec path: "../"