From 6508e058f76d03da9eaf05d752e358e50fbdf964 Mon Sep 17 00:00:00 2001 From: Abdelkader Boudih Date: Sat, 14 Oct 2023 15:33:52 +0100 Subject: [PATCH 1/3] Prepare release --- .github/workflows/spec.yml | 10 ++-------- Appraisals | 18 ++++++++++++------ acts-as-taggable-on.gemspec | 7 +++---- gemfiles/activerecord_7.0.gemfile | 2 +- gemfiles/activerecord_7.1.gemfile | 18 ++++++++++++++++++ 5 files changed, 36 insertions(+), 19 deletions(-) create mode 100644 gemfiles/activerecord_7.1.gemfile diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index 5172e13c..b8dc2927 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -17,12 +17,10 @@ jobs: - 3.1 - "3.0" - 2.7 - - 2.6 - - 2.5 gemfile: - - gemfiles/activerecord_6.0.gemfile - - gemfiles/activerecord_6.1.gemfile + - gemfiles/activerecord_7.1.gemfile - gemfiles/activerecord_7.0.gemfile + - gemfiles/activerecord_6.1.gemfile db: - mysql - postgresql @@ -35,10 +33,6 @@ jobs: db: postgresql gemfile: gemfiles/activerecord_7.0.gemfile exclude: - - ruby: 2.5 - gemfile: gemfiles/activerecord_7.0.gemfile - - ruby: 2.6 - gemfile: gemfiles/activerecord_7.0.gemfile - ruby: 3.2 gemfile: gemfiles/activerecord_6.0.gemfile diff --git a/Appraisals b/Appraisals index 303dca9f..df048253 100644 --- a/Appraisals +++ b/Appraisals @@ -1,11 +1,5 @@ # frozen_string_literal: true -appraise 'activerecord-6.0' do - gem 'activerecord', '~> 6.0.0' - gem 'pg' - gem 'mysql2', '~> 0.5' -end - appraise 'activerecord-6.1' do gem 'activerecord', '~> 6.1.0' gem 'pg' @@ -17,3 +11,15 @@ appraise 'activerecord-7.0' do gem 'pg' gem 'mysql2', '~> 0.5' end + +appraise 'activerecord-7.1' do + gem 'activerecord', '~> 7.1.0' + gem 'pg' + gem 'mysql2', '~> 0.5' +end + +appraise 'activerecord-7.1' do + gem 'activerecord', '~> 7.1.0' + gem 'pg' + gem 'trilogy' +end \ No newline at end of file diff --git a/acts-as-taggable-on.gemspec b/acts-as-taggable-on.gemspec index 76a79caf..ad5e0a26 100644 --- a/acts-as-taggable-on.gemspec +++ b/acts-as-taggable-on.gemspec @@ -1,7 +1,6 @@ # coding: utf-8 -lib = File.expand_path('../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'acts_as_taggable_on/version' + +require_relative 'lib/acts_as_taggable_on/version' Gem::Specification.new do |gem| gem.name = 'acts-as-taggable-on' @@ -22,7 +21,7 @@ Gem::Specification.new do |gem| gem.post_install_message = File.read('UPGRADING.md') end - gem.add_runtime_dependency 'activerecord', '>= 6.0', '< 8' + gem.add_runtime_dependency 'activerecord', '>= 6.1', '< 7.2' gem.add_development_dependency 'rspec-rails' gem.add_development_dependency 'rspec-its' diff --git a/gemfiles/activerecord_7.0.gemfile b/gemfiles/activerecord_7.0.gemfile index e5bc1d73..b43a6b95 100644 --- a/gemfiles/activerecord_7.0.gemfile +++ b/gemfiles/activerecord_7.0.gemfile @@ -2,7 +2,7 @@ source "https://rubygems.org" -gem "activerecord", "~> 7.0.0" +gem "activerecord", "~> 7.0.1" gem "pg" gem "mysql2", "~> 0.5" diff --git a/gemfiles/activerecord_7.1.gemfile b/gemfiles/activerecord_7.1.gemfile new file mode 100644 index 00000000..196534cf --- /dev/null +++ b/gemfiles/activerecord_7.1.gemfile @@ -0,0 +1,18 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "activerecord", "~> 7.1.0" +gem "pg" +gem "trilogy" + +group :local_development do + gem "guard" + gem "guard-rspec" + gem "appraisal" + gem "rake" + gem "sqlite3" + gem "byebug", platforms: [:mri] +end + +gemspec path: "../" From e5e8de7c294ac14a7c4fe920bc5a3a0833b6b250 Mon Sep 17 00:00:00 2001 From: Abdelkader Boudih Date: Sat, 14 Oct 2023 15:57:50 +0100 Subject: [PATCH 2/3] remove deprecation --- Appraisals | 6 ------ gemfiles/activerecord_7.1.gemfile | 2 +- spec/support/database.rb | 8 ++------ 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/Appraisals b/Appraisals index df048253..b664fc6c 100644 --- a/Appraisals +++ b/Appraisals @@ -16,10 +16,4 @@ appraise 'activerecord-7.1' do gem 'activerecord', '~> 7.1.0' gem 'pg' gem 'mysql2', '~> 0.5' -end - -appraise 'activerecord-7.1' do - gem 'activerecord', '~> 7.1.0' - gem 'pg' - gem 'trilogy' end \ No newline at end of file diff --git a/gemfiles/activerecord_7.1.gemfile b/gemfiles/activerecord_7.1.gemfile index 196534cf..e00a1f94 100644 --- a/gemfiles/activerecord_7.1.gemfile +++ b/gemfiles/activerecord_7.1.gemfile @@ -4,7 +4,7 @@ source "https://rubygems.org" gem "activerecord", "~> 7.1.0" gem "pg" -gem "trilogy" +gem "mysql2", "~> 0.5" group :local_development do gem "guard" diff --git a/spec/support/database.rb b/spec/support/database.rb index 2a48ae9f..932c154c 100644 --- a/spec/support/database.rb +++ b/spec/support/database.rb @@ -18,18 +18,14 @@ else ActiveRecord::Base.default_timezone = :utc end -config = if ActiveRecord.version >= Gem::Version.new('6.1.0') - ActiveRecord::Base.configurations.configs_for(env_name: db_name) - else - ActiveSupport::HashWithIndifferentAccess.new(ActiveRecord::Base.configurations[db_name]) - end +config = ActiveRecord::Base.configurations.configs_for(env_name: db_name) begin ActiveRecord::Base.establish_connection(db_name.to_sym) ActiveRecord::Base.connection rescue StandardError case db_name - when /mysql/ + when /(mysql)/ ActiveRecord::Base.establish_connection(config.merge('database' => nil)) ActiveRecord::Base.connection.create_database(config['database'], { charset: 'utf8', collation: 'utf8_unicode_ci' }) From e2613577282533c41f13908789d2d916e77fc331 Mon Sep 17 00:00:00 2001 From: Abdelkader Boudih Date: Sat, 14 Oct 2023 16:21:23 +0100 Subject: [PATCH 3/3] prepare version v10 chore: remove deprecated method feat: convert tagger to recent syntax --- .github/workflows/spec.yml | 2 +- Appraisals | 8 ++++---- CHANGELOG.md | 2 +- acts-as-taggable-on.gemspec | 2 +- lib/acts_as_taggable_on/tagger.rb | 12 +++--------- lib/acts_as_taggable_on/utils.rb | 4 ---- lib/acts_as_taggable_on/version.rb | 2 +- 7 files changed, 11 insertions(+), 21 deletions(-) diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index b8dc2927..3b119e01 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -60,7 +60,7 @@ jobs: --health-timeout 5s --health-retries 5 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: diff --git a/Appraisals b/Appraisals index b664fc6c..63729ab5 100644 --- a/Appraisals +++ b/Appraisals @@ -13,7 +13,7 @@ appraise 'activerecord-7.0' do end appraise 'activerecord-7.1' do - gem 'activerecord', '~> 7.1.0' - gem 'pg' - gem 'mysql2', '~> 0.5' -end \ No newline at end of file + gem 'activerecord', '~> 7.1.0' + gem 'pg' + gem 'mysql2', '~> 0.5' +end diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f552fd5..b7d45196 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ Each change should fall into categories that would affect whether the release is As such, _Breaking Changes_ are major. _Features_ would map to either major or minor. _Fixes_, _Performance_, and _Misc_ are either minor or patch, the difference being kind of fuzzy for the purposes of history. Adding _Documentation_ (including tests) would be patch level. -### [v9.1.0) / unreleased](https://github.com/mbleigh/acts-as-taggable-on/compare/v9.0.1...master) +### [v10.0.0) / unreleased](https://github.com/mbleigh/acts-as-taggable-on/compare/v9.0.1...master) * Features * [@glampr Add support for prefix and suffix searches alongside previously supported containment (wildcard) searches](https://github.com/mbleigh/acts-as-taggable-on/pull/1082) * [@donquxiote Add support for horizontally sharded databases](https://github.com/mbleigh/acts-as-taggable-on/pull/1079) diff --git a/acts-as-taggable-on.gemspec b/acts-as-taggable-on.gemspec index ad5e0a26..1b02e397 100644 --- a/acts-as-taggable-on.gemspec +++ b/acts-as-taggable-on.gemspec @@ -15,7 +15,7 @@ Gem::Specification.new do |gem| gem.files = `git ls-files`.split($/) gem.test_files = gem.files.grep(%r{^spec/}) gem.require_paths = ['lib'] - gem.required_ruby_version = '>= 2.5.0' + gem.required_ruby_version = '>= 2.7.0' if File.exist?('UPGRADING.md') gem.post_install_message = File.read('UPGRADING.md') diff --git a/lib/acts_as_taggable_on/tagger.rb b/lib/acts_as_taggable_on/tagger.rb index 1611efdc..b60acf0e 100644 --- a/lib/acts_as_taggable_on/tagger.rb +++ b/lib/acts_as_taggable_on/tagger.rb @@ -40,9 +40,7 @@ def tagger? false end - def is_tagger? - tagger? - end + alias is_tagger? tagger? end module InstanceMethods @@ -75,9 +73,7 @@ def tagger? self.class.is_tagger? end - def is_tagger? - tagger? - end + alias is_tagger? tagger? end module SingletonMethods @@ -85,9 +81,7 @@ def tagger? true end - def is_tagger? - tagger? - end + alias is_tagger? tagger? end end end diff --git a/lib/acts_as_taggable_on/utils.rb b/lib/acts_as_taggable_on/utils.rb index c7858bcd..ea58dd92 100644 --- a/lib/acts_as_taggable_on/utils.rb +++ b/lib/acts_as_taggable_on/utils.rb @@ -26,10 +26,6 @@ def like_operator using_postgresql? ? 'ILIKE' : 'LIKE' end - def legacy_activerecord? - ActiveRecord.version <= Gem::Version.new('5.3.0') - end - # escape _ and % characters in strings, since these are wildcards in SQL. def escape_like(str) str.gsub(/[!%_]/) { |x| "!#{x}" } diff --git a/lib/acts_as_taggable_on/version.rb b/lib/acts_as_taggable_on/version.rb index 2c8ce4c9..3337185e 100644 --- a/lib/acts_as_taggable_on/version.rb +++ b/lib/acts_as_taggable_on/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module ActsAsTaggableOn - VERSION = '9.0.1' + VERSION = '10.0.0' end