From c9f2d9c7a70cc2a4c70101fc6027e8924b64292a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Diego=20Piske?= Date: Tue, 21 Jul 2026 09:02:00 -0300 Subject: [PATCH 1/5] bump dependencies --- .gitignore | 1 + .rubocop.yml | 2 +- Appraisals | 19 +++++++++++++++++++ Gemfile | 6 ++++++ gemfiles/rails7.2.gemfile | 10 ++++++++++ gemfiles/rails8.0.gemfile | 10 ++++++++++ gemfiles/rails8.1.gemfile | 10 ++++++++++ .../migrate/20150217000000_create_tables.rb | 2 +- spec/support/backend.rb | 9 +++++---- tiddle.gemspec | 15 +++++++++------ 10 files changed, 72 insertions(+), 12 deletions(-) create mode 100644 Appraisals create mode 100644 Gemfile create mode 100644 gemfiles/rails7.2.gemfile create mode 100644 gemfiles/rails8.0.gemfile create mode 100644 gemfiles/rails8.1.gemfile diff --git a/.gitignore b/.gitignore index 6fef62f..d866d28 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ /doc/ /pkg/ /spec/reports/ +/spec/rails_app_active_record/tmp/ /tmp/ *.bundle *.so diff --git a/.rubocop.yml b/.rubocop.yml index 5a74561..3caf1aa 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,5 +1,5 @@ AllCops: - TargetRubyVersion: 2.6 + TargetRubyVersion: 3.3 Include: - 'lib/**/*.rb' - 'spec/**/*.rb' diff --git a/Appraisals b/Appraisals new file mode 100644 index 0000000..646795d --- /dev/null +++ b/Appraisals @@ -0,0 +1,19 @@ + +appraise "rails7.2" do + gem "rails", "~> 7.2" + gem "mongoid", "~> 9" + gem "sqlite3" +end + +appraise "rails8.0" do + gem "rails", "~> 8.0.0" + gem "mongoid", "~> 9" + gem "sqlite3" +end + +appraise "rails8.1" do + gem "rails", "~> 8.1.0" + gem "mongoid", "~> 9" + gem "sqlite3" +end + diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..3ea200e --- /dev/null +++ b/Gemfile @@ -0,0 +1,6 @@ +source 'https://rubygems.org' + +gem "rubocop", "~> 1.88" + +# Specify your gem's dependencies in tiddle.gemspec +gemspec diff --git a/gemfiles/rails7.2.gemfile b/gemfiles/rails7.2.gemfile new file mode 100644 index 0000000..0941294 --- /dev/null +++ b/gemfiles/rails7.2.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "rubocop", "~> 1.88" +gem "rails", "~> 7.2" +gem "mongoid", "~> 9" +gem "sqlite3" + +gemspec path: "../" diff --git a/gemfiles/rails8.0.gemfile b/gemfiles/rails8.0.gemfile new file mode 100644 index 0000000..54b8606 --- /dev/null +++ b/gemfiles/rails8.0.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "rubocop", "~> 1.88" +gem "rails", "~> 8.0.0" +gem "mongoid", "~> 9" +gem "sqlite3" + +gemspec path: "../" diff --git a/gemfiles/rails8.1.gemfile b/gemfiles/rails8.1.gemfile new file mode 100644 index 0000000..7627112 --- /dev/null +++ b/gemfiles/rails8.1.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "rubocop", "~> 1.88" +gem "rails", "~> 8.1.0" +gem "mongoid", "~> 9" +gem "sqlite3" + +gemspec path: "../" diff --git a/spec/rails_app_active_record/db/migrate/20150217000000_create_tables.rb b/spec/rails_app_active_record/db/migrate/20150217000000_create_tables.rb index 2a371e3..9879a39 100644 --- a/spec/rails_app_active_record/db/migrate/20150217000000_create_tables.rb +++ b/spec/rails_app_active_record/db/migrate/20150217000000_create_tables.rb @@ -1,4 +1,4 @@ -class CreateTables < ActiveRecord::Migration[4.2] +class CreateTables < ActiveRecord::Migration::Current # rubocop:disable Metrics/AbcSize # rubocop:disable Metrics/MethodLength def change diff --git a/spec/support/backend.rb b/spec/support/backend.rb index 0397a70..48ae73c 100644 --- a/spec/support/backend.rb +++ b/spec/support/backend.rb @@ -23,10 +23,11 @@ def migrate! # Do initial migration path = File.expand_path("../rails_app_active_record/db/migrate/", File.dirname(__FILE__)) - ActiveRecord::MigrationContext.new( - path, - ActiveRecord::SchemaMigration - ).migrate + schema_migration = ::ActiveRecord::SchemaMigration.new( + ActiveRecord::Tasks::DatabaseTasks.migration_connection_pool + ) + + ::ActiveRecord::MigrationContext.new(path, schema_migration).migrate end end diff --git a/tiddle.gemspec b/tiddle.gemspec index 3003c41..392ff32 100644 --- a/tiddle.gemspec +++ b/tiddle.gemspec @@ -16,14 +16,17 @@ Gem::Specification.new do |spec| spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) spec.require_paths = ["lib"] - spec.required_ruby_version = '>= 3.0.0' + spec.required_ruby_version = '>= 3.3.0' - spec.add_dependency "devise", ">= 4.0.0.rc1", "< 6" - spec.add_dependency "activerecord", ">= 6.1.0" - spec.add_development_dependency "rake" + spec.add_dependency "devise", ">= 4.7", "< 6" + spec.add_dependency "activerecord", ">= 7.2.0" + spec.add_development_dependency "rake", "~> 13" spec.add_development_dependency "rspec-rails" spec.add_development_dependency "simplecov" + spec.add_development_dependency "appraisal" + spec.add_development_dependency "coveralls" spec.add_development_dependency "rubocop" - spec.add_development_dependency "database_cleaner-active_record" - spec.add_development_dependency "database_cleaner-mongoid" + spec.add_development_dependency "database_cleaner" + spec.add_development_dependency "ostruct" + spec.add_development_dependency "psych" end From 9cd27bada38a461b86e2575b5360716d254005d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Diego=20Piske?= Date: Tue, 21 Jul 2026 09:05:02 -0300 Subject: [PATCH 2/5] remove not needed deps --- tiddle.gemspec | 3 --- 1 file changed, 3 deletions(-) diff --git a/tiddle.gemspec b/tiddle.gemspec index 392ff32..6ab371e 100644 --- a/tiddle.gemspec +++ b/tiddle.gemspec @@ -24,9 +24,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency "rspec-rails" spec.add_development_dependency "simplecov" spec.add_development_dependency "appraisal" - spec.add_development_dependency "coveralls" spec.add_development_dependency "rubocop" spec.add_development_dependency "database_cleaner" - spec.add_development_dependency "ostruct" - spec.add_development_dependency "psych" end From 4ff5c69396cdce125cf89c05d68c8cfbabceb09e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Diego=20Piske?= Date: Tue, 21 Jul 2026 09:07:57 -0300 Subject: [PATCH 3/5] Add a changelog entry --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 565281f..fc6ec8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +### [Unreleased] + +Minimum supported ruby version is now 3.3 + +Minimum supported Rails version is now 7.2 + +Relax devise dependency to >= 4, < 6, thus supporting devise 5 + ### 1.8.1 Remove Rails 5.2 and 6.0 support From 29ac9c0c6a3344dd0fe147adbc7e9cf69ccefea3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Diego=20Piske?= Date: Tue, 21 Jul 2026 09:10:18 -0300 Subject: [PATCH 4/5] update GHA --- .github/workflows/ruby.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 22074af..e4b751d 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -12,13 +12,13 @@ jobs: fail-fast: false matrix: gemfile: - - rails7.0 - - rails7.1 + - rails7.2 + - rails8.0 + - rails8.1 ruby: - - "3.0" - - "3.1" - - "3.2" - "3.3" + - "3.4" + - "4.0" backend: - active_record - mongoid @@ -29,14 +29,14 @@ jobs: BACKEND: ${{ matrix.backend }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v7 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: bundler-cache: true ruby-version: ${{ matrix.ruby }} - name: Start MongoDB - uses: supercharge/mongodb-github-action@1.3.0 + uses: supercharge/mongodb-github-action@1.10.0 if: ${{ matrix.backend == 'mongoid' }} - name: Run tests run: | From 02051ec63f9b64b05b184085eb7a965c0d7bf9f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Diego=20Piske?= Date: Tue, 21 Jul 2026 09:16:22 -0300 Subject: [PATCH 5/5] fix mongoid --- .gitignore | 1 + gemfiles/rails7.0.gemfile | 7 ------- gemfiles/rails7.1.gemfile | 7 ------- tiddle.gemspec | 2 ++ 4 files changed, 3 insertions(+), 14 deletions(-) delete mode 100644 gemfiles/rails7.0.gemfile delete mode 100644 gemfiles/rails7.1.gemfile diff --git a/.gitignore b/.gitignore index d866d28..e140cec 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ /pkg/ /spec/reports/ /spec/rails_app_active_record/tmp/ +/spec/rails_app_mongoid/tmp/ /tmp/ *.bundle *.so diff --git a/gemfiles/rails7.0.gemfile b/gemfiles/rails7.0.gemfile deleted file mode 100644 index dfaf754..0000000 --- a/gemfiles/rails7.0.gemfile +++ /dev/null @@ -1,7 +0,0 @@ -source "https://rubygems.org" - -gem "rails", "~> 7.0.2" -gem "mongoid" -gem "sqlite3", "~> 1.4" - -gemspec path: "../" diff --git a/gemfiles/rails7.1.gemfile b/gemfiles/rails7.1.gemfile deleted file mode 100644 index 43bfc07..0000000 --- a/gemfiles/rails7.1.gemfile +++ /dev/null @@ -1,7 +0,0 @@ -source "https://rubygems.org" - -gem "rails", "~> 7.1.3" -gem "mongoid" -gem "sqlite3", "~> 1.4" - -gemspec path: "../" diff --git a/tiddle.gemspec b/tiddle.gemspec index 6ab371e..3d6f06b 100644 --- a/tiddle.gemspec +++ b/tiddle.gemspec @@ -26,4 +26,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency "appraisal" spec.add_development_dependency "rubocop" spec.add_development_dependency "database_cleaner" + spec.add_development_dependency "database_cleaner-active_record" + spec.add_development_dependency "database_cleaner-mongoid" end