diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f98943b..72962c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,11 +19,29 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: + [ + { version: "3.1", gemfile: activerecord_7 }, + { version: "3.1", gemfile: activerecord_7_1 }, + { version: "3.1", gemfile: activerecord_7_2 }, + { version: "3.2", gemfile: activerecord_7 }, + { version: "3.2", gemfile: activerecord_7_1 }, + { version: "3.2", gemfile: activerecord_7_2 }, + { version: "3.2", gemfile: activerecord_8 }, + { version: "3.2", gemfile: activerecord_main }, + { version: "3.3", gemfile: activerecord_7 }, + { version: "3.3", gemfile: activerecord_7_1 }, + { version: "3.3", gemfile: activerecord_7_2 }, + { version: "3.3", gemfile: activerecord_8 }, + { version: "3.3", gemfile: activerecord_main }, + ] + env: + BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.ruby.gemfile }}.gemfile + BUNDLE_PATH_RELATIVE_TO_CWD: true steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: bundler-cache: true - ruby-version: ${{ matrix.ruby }} + ruby-version: ${{ matrix.ruby.version }} - run: bundle exec rake test diff --git a/.rubocop.yml b/.rubocop.yml index b3fa3a9..65e31e5 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -8,4 +8,7 @@ require: - rubocop-rspec AllCops: - TargetRubyVersion: 3.0 + TargetRubyVersion: 3.1 + Exclude: + - gemfiles/**/* + - vendor/bundle/**/* diff --git a/Appraisals b/Appraisals new file mode 100644 index 0000000..39b987f --- /dev/null +++ b/Appraisals @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +# Currently doesn't work with Appraisal 2.5.0 and Ruby >= 3.1 +# customize_gemfiles do +# { +# heading: <<~HEADING +# # frozen_string_literal: true +# +# `%s` has been generated by Appraisal, do NOT modify it or `%s` directly! +# Make the changes to the "%s" block in `Appraisals` instead. +# HEADING +# } +# end + +appraise "activerecord-7" do + gem "activerecord", "~> 7.0.0" + gem "sqlite3", "~> 1.7" +end + +appraise "activerecord-7-1" do + gem "activerecord", "~> 7.1.0" + gem "sqlite3", "~> 1.7" +end + +appraise "activerecord-7-2" do + gem "activerecord", "~> 7.2.0" + gem "sqlite3", "~> 1.7" +end + +appraise "activerecord-8" do + gem "activerecord", "~> 8.0.0" + gem "sqlite3", "~> 2.0" +end + +appraise "activerecord-main" do + gem "activerecord", github: "rails/rails", branch: "main" + gem "sqlite3", "~> 2.0" +end diff --git a/Gemfile b/Gemfile index 4656f63..89926a1 100644 --- a/Gemfile +++ b/Gemfile @@ -4,14 +4,19 @@ source "https://rubygems.org" gemspec +gem "activerecord", "~> 8.0" +gem "sqlite3", "~> 2.1" + group :development do - gem "activerecord", "~> 7.1" + gem "appraisal", "~> 2.5" gem "boxt_rubocop", "2.15.0" - gem "byebug", "~> 11.0" + gem "byebug", "~> 11.1" gem "rake", "~> 13.2" +end + +group :test do gem "rspec", "~> 3.13" gem "simplecov", "~> 0.22" - gem "sqlite3", "~> 1.7" gem "timecop", "~> 0.9" gem "with_model", "~> 2.1" end diff --git a/Gemfile.lock b/Gemfile.lock index af3d12e..f58108a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,30 +2,38 @@ PATH remote: . specs: logga (5.0.0) - activerecord (>= 6, < 8) - activesupport (>= 6, < 8) + activerecord (>= 7, < 9) + activesupport (>= 7, < 9) GEM remote: https://rubygems.org/ specs: - activemodel (7.1.4.2) - activesupport (= 7.1.4.2) - activerecord (7.1.4.2) - activemodel (= 7.1.4.2) - activesupport (= 7.1.4.2) + activemodel (8.0.0) + activesupport (= 8.0.0) + activerecord (8.0.0) + activemodel (= 8.0.0) + activesupport (= 8.0.0) timeout (>= 0.4.0) - activesupport (7.1.4.2) + activesupport (8.0.0) base64 + benchmark (>= 0.3) bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) + concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) + appraisal (2.5.0) + bundler + rake + thor (>= 0.14.0) ast (2.4.2) base64 (0.2.0) + benchmark (0.4.0) bigdecimal (3.1.8) boxt_rubocop (2.15.0) rubocop (= 1.69.0) @@ -39,7 +47,7 @@ GEM concurrent-ruby (1.3.4) connection_pool (2.4.1) diff-lcs (1.5.1) - docile (1.4.0) + docile (1.4.1) drb (2.2.1) faker (3.5.1) i18n (>= 1.8.11, < 2) @@ -47,8 +55,8 @@ GEM concurrent-ruby (~> 1.0) json (2.9.0) language_server-protocol (3.17.0.3) + logger (1.6.2) minitest (5.25.4) - mutex_m (0.3.0) parallel (1.26.3) parser (3.3.6.0) ast (~> 2.4.1) @@ -62,15 +70,15 @@ GEM rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.0) + rspec-core (3.13.2) rspec-support (~> 3.13.0) - rspec-expectations (3.13.1) + rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-support (3.13.1) + rspec-support (3.13.2) rubocop (1.69.0) json (~> 2.3) language_server-protocol (>= 3.17.0) @@ -101,22 +109,25 @@ GEM rubocop-rspec (3.2.0) rubocop (~> 1.61) ruby-progressbar (1.13.0) + securerandom (0.4.0) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) - simplecov-html (0.12.3) + simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) - sqlite3 (1.7.3-arm64-darwin) - sqlite3 (1.7.3-x86_64-darwin) - sqlite3 (1.7.3-x86_64-linux) + sqlite3 (2.4.1-arm64-darwin) + sqlite3 (2.4.1-x86_64-darwin) + sqlite3 (2.4.1-x86_64-linux-gnu) + thor (1.3.2) timecop (0.9.10) - timeout (0.4.1) + timeout (0.4.2) tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (3.1.2) unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (4.0.4) + uri (1.0.2) with_model (2.1.7) activerecord (>= 6.0) @@ -132,14 +143,15 @@ PLATFORMS x86_64-linux DEPENDENCIES - activerecord (~> 7.1) + activerecord (~> 8.0) + appraisal (~> 2.5) boxt_rubocop (= 2.15.0) - byebug (~> 11.0) + byebug (~> 11.1) logga! rake (~> 13.2) rspec (~> 3.13) simplecov (~> 0.22) - sqlite3 (~> 1.7) + sqlite3 (~> 2.1) timecop (~> 0.9) with_model (~> 2.1) diff --git a/README.md b/README.md index 61f84aa..3b09069 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ end ## Development -After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. +After checking out the repo, run `bin/setup` to install dependencies. Then, run `bundle exec appraisal rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. diff --git a/gemfiles/activerecord_7.gemfile b/gemfiles/activerecord_7.gemfile new file mode 100644 index 0000000..9316fce --- /dev/null +++ b/gemfiles/activerecord_7.gemfile @@ -0,0 +1,22 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "activerecord", "~> 7.0.0" +gem "sqlite3", "~> 1.7" + +group :development do + gem "appraisal", "~> 2.5" + gem "boxt_rubocop", "2.15.0" + gem "byebug", "~> 11.0" + gem "rake", "~> 13.2" +end + +group :test do + gem "rspec", "~> 3.13" + gem "simplecov", "~> 0.22" + gem "timecop", "~> 0.9" + gem "with_model", "~> 2.1" +end + +gemspec path: "../" diff --git a/gemfiles/activerecord_7.gemfile.lock b/gemfiles/activerecord_7.gemfile.lock new file mode 100644 index 0000000..176fc5e --- /dev/null +++ b/gemfiles/activerecord_7.gemfile.lock @@ -0,0 +1,139 @@ +PATH + remote: .. + specs: + logga (5.0.0) + activerecord (>= 7, < 9) + activesupport (>= 7, < 9) + +GEM + remote: https://rubygems.org/ + specs: + activemodel (7.0.8.6) + activesupport (= 7.0.8.6) + activerecord (7.0.8.6) + activemodel (= 7.0.8.6) + activesupport (= 7.0.8.6) + activesupport (7.0.8.6) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + appraisal (2.5.0) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + boxt_rubocop (2.15.0) + rubocop (= 1.69.0) + rubocop-factory_bot (= 2.26.1) + rubocop-faker (= 1.2.0) + rubocop-performance (= 1.23.0) + rubocop-rails (= 2.27.0) + rubocop-rake (= 0.6.0) + rubocop-rspec (= 3.2.0) + byebug (11.1.3) + concurrent-ruby (1.3.4) + diff-lcs (1.5.1) + docile (1.4.1) + faker (3.5.1) + i18n (>= 1.8.11, < 2) + i18n (1.14.6) + concurrent-ruby (~> 1.0) + json (2.9.0) + language_server-protocol (3.17.0.3) + minitest (5.25.4) + parallel (1.26.3) + parser (3.3.6.0) + ast (~> 2.4.1) + racc + racc (1.8.1) + rack (3.1.8) + rainbow (3.1.1) + rake (13.2.1) + regexp_parser (2.9.3) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-core (3.13.2) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.2) + rubocop (1.69.0) + json (~> 2.3) + language_server-protocol (>= 3.17.0) + parallel (~> 1.10) + parser (>= 3.3.0.2) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 2.4, < 3.0) + rubocop-ast (>= 1.36.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.36.2) + parser (>= 3.3.1.0) + rubocop-factory_bot (2.26.1) + rubocop (~> 1.61) + rubocop-faker (1.2.0) + faker (>= 2.12.0) + rubocop (>= 1.13.0) + rubocop-performance (1.23.0) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rails (2.27.0) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 1.52.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rake (0.6.0) + rubocop (~> 1.0) + rubocop-rspec (3.2.0) + rubocop (~> 1.61) + ruby-progressbar (1.13.0) + simplecov (0.22.0) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + sqlite3 (1.7.3-arm64-darwin) + thor (1.3.2) + timecop (0.9.10) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (3.1.2) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) + with_model (2.1.7) + activerecord (>= 6.0) + +PLATFORMS + arm64-darwin-20 + arm64-darwin-21 + arm64-darwin-22 + arm64-darwin-23 + arm64-darwin-24 + x86_64-darwin-19 + x86_64-darwin-20 + x86_64-darwin-21 + x86_64-linux + +DEPENDENCIES + activerecord (~> 7.0.0) + appraisal (~> 2.5) + boxt_rubocop (= 2.15.0) + byebug (~> 11.0) + logga! + rake (~> 13.2) + rspec (~> 3.13) + simplecov (~> 0.22) + sqlite3 (~> 1.7) + timecop (~> 0.9) + with_model (~> 2.1) + +BUNDLED WITH + 2.5.22 diff --git a/gemfiles/activerecord_7_1.gemfile b/gemfiles/activerecord_7_1.gemfile new file mode 100644 index 0000000..a3b35bd --- /dev/null +++ b/gemfiles/activerecord_7_1.gemfile @@ -0,0 +1,22 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "activerecord", "~> 7.1.0" +gem "sqlite3", "~> 1.7" + +group :development do + gem "appraisal", "~> 2.5" + gem "boxt_rubocop", "2.15.0" + gem "byebug", "~> 11.0" + gem "rake", "~> 13.2" +end + +group :test do + gem "rspec", "~> 3.13" + gem "simplecov", "~> 0.22" + gem "timecop", "~> 0.9" + gem "with_model", "~> 2.1" +end + +gemspec path: "../" diff --git a/gemfiles/activerecord_7_1.gemfile.lock b/gemfiles/activerecord_7_1.gemfile.lock new file mode 100644 index 0000000..538e6ca --- /dev/null +++ b/gemfiles/activerecord_7_1.gemfile.lock @@ -0,0 +1,157 @@ +PATH + remote: .. + specs: + logga (5.0.0) + activerecord (>= 7, < 9) + activesupport (>= 7, < 9) + +GEM + remote: https://rubygems.org/ + specs: + activemodel (7.1.5) + activesupport (= 7.1.5) + activerecord (7.1.5) + activemodel (= 7.1.5) + activesupport (= 7.1.5) + timeout (>= 0.4.0) + activesupport (7.1.5) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + mutex_m + securerandom (>= 0.3) + tzinfo (~> 2.0) + appraisal (2.5.0) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + base64 (0.2.0) + benchmark (0.4.0) + bigdecimal (3.1.8) + boxt_rubocop (2.15.0) + rubocop (= 1.69.0) + rubocop-factory_bot (= 2.26.1) + rubocop-faker (= 1.2.0) + rubocop-performance (= 1.23.0) + rubocop-rails (= 2.27.0) + rubocop-rake (= 0.6.0) + rubocop-rspec (= 3.2.0) + byebug (11.1.3) + concurrent-ruby (1.3.4) + connection_pool (2.4.1) + diff-lcs (1.5.1) + docile (1.4.1) + drb (2.2.1) + faker (3.5.1) + i18n (>= 1.8.11, < 2) + i18n (1.14.6) + concurrent-ruby (~> 1.0) + json (2.9.0) + language_server-protocol (3.17.0.3) + logger (1.6.2) + minitest (5.25.4) + mutex_m (0.3.0) + parallel (1.26.3) + parser (3.3.6.0) + ast (~> 2.4.1) + racc + racc (1.8.1) + rack (3.1.8) + rainbow (3.1.1) + rake (13.2.1) + regexp_parser (2.9.3) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-core (3.13.2) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.2) + rubocop (1.69.0) + json (~> 2.3) + language_server-protocol (>= 3.17.0) + parallel (~> 1.10) + parser (>= 3.3.0.2) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 2.4, < 3.0) + rubocop-ast (>= 1.36.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.36.2) + parser (>= 3.3.1.0) + rubocop-factory_bot (2.26.1) + rubocop (~> 1.61) + rubocop-faker (1.2.0) + faker (>= 2.12.0) + rubocop (>= 1.13.0) + rubocop-performance (1.23.0) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rails (2.27.0) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 1.52.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rake (0.6.0) + rubocop (~> 1.0) + rubocop-rspec (3.2.0) + rubocop (~> 1.61) + ruby-progressbar (1.13.0) + securerandom (0.4.0) + simplecov (0.22.0) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + sqlite3 (1.7.3-arm64-darwin) + thor (1.3.2) + timecop (0.9.10) + timeout (0.4.2) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (3.1.2) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) + with_model (2.1.7) + activerecord (>= 6.0) + +PLATFORMS + arm64-darwin-20 + arm64-darwin-21 + arm64-darwin-22 + arm64-darwin-23 + arm64-darwin-24 + x86_64-darwin-19 + x86_64-darwin-20 + x86_64-darwin-21 + x86_64-linux + +DEPENDENCIES + activerecord (~> 7.1.0) + appraisal (~> 2.5) + boxt_rubocop (= 2.15.0) + byebug (~> 11.0) + logga! + rake (~> 13.2) + rspec (~> 3.13) + simplecov (~> 0.22) + sqlite3 (~> 1.7) + timecop (~> 0.9) + with_model (~> 2.1) + +BUNDLED WITH + 2.5.22 diff --git a/gemfiles/activerecord_7_2.gemfile b/gemfiles/activerecord_7_2.gemfile new file mode 100644 index 0000000..0adb903 --- /dev/null +++ b/gemfiles/activerecord_7_2.gemfile @@ -0,0 +1,22 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "activerecord", "~> 7.2.0" +gem "sqlite3", "~> 1.7" + +group :development do + gem "appraisal", "~> 2.5" + gem "boxt_rubocop", "2.15.0" + gem "byebug", "~> 11.0" + gem "rake", "~> 13.2" +end + +group :test do + gem "rspec", "~> 3.13" + gem "simplecov", "~> 0.22" + gem "timecop", "~> 0.9" + gem "with_model", "~> 2.1" +end + +gemspec path: "../" diff --git a/gemfiles/activerecord_7_2.gemfile.lock b/gemfiles/activerecord_7_2.gemfile.lock new file mode 100644 index 0000000..cee51a2 --- /dev/null +++ b/gemfiles/activerecord_7_2.gemfile.lock @@ -0,0 +1,155 @@ +PATH + remote: .. + specs: + logga (5.0.0) + activerecord (>= 7, < 9) + activesupport (>= 7, < 9) + +GEM + remote: https://rubygems.org/ + specs: + activemodel (7.2.2) + activesupport (= 7.2.2) + activerecord (7.2.2) + activemodel (= 7.2.2) + activesupport (= 7.2.2) + timeout (>= 0.4.0) + activesupport (7.2.2) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + appraisal (2.5.0) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + base64 (0.2.0) + benchmark (0.4.0) + bigdecimal (3.1.8) + boxt_rubocop (2.15.0) + rubocop (= 1.69.0) + rubocop-factory_bot (= 2.26.1) + rubocop-faker (= 1.2.0) + rubocop-performance (= 1.23.0) + rubocop-rails (= 2.27.0) + rubocop-rake (= 0.6.0) + rubocop-rspec (= 3.2.0) + byebug (11.1.3) + concurrent-ruby (1.3.4) + connection_pool (2.4.1) + diff-lcs (1.5.1) + docile (1.4.1) + drb (2.2.1) + faker (3.5.1) + i18n (>= 1.8.11, < 2) + i18n (1.14.6) + concurrent-ruby (~> 1.0) + json (2.9.0) + language_server-protocol (3.17.0.3) + logger (1.6.2) + minitest (5.25.4) + parallel (1.26.3) + parser (3.3.6.0) + ast (~> 2.4.1) + racc + racc (1.8.1) + rack (3.1.8) + rainbow (3.1.1) + rake (13.2.1) + regexp_parser (2.9.3) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-core (3.13.2) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.2) + rubocop (1.69.0) + json (~> 2.3) + language_server-protocol (>= 3.17.0) + parallel (~> 1.10) + parser (>= 3.3.0.2) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 2.4, < 3.0) + rubocop-ast (>= 1.36.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.36.2) + parser (>= 3.3.1.0) + rubocop-factory_bot (2.26.1) + rubocop (~> 1.61) + rubocop-faker (1.2.0) + faker (>= 2.12.0) + rubocop (>= 1.13.0) + rubocop-performance (1.23.0) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rails (2.27.0) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 1.52.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rake (0.6.0) + rubocop (~> 1.0) + rubocop-rspec (3.2.0) + rubocop (~> 1.61) + ruby-progressbar (1.13.0) + securerandom (0.4.0) + simplecov (0.22.0) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + sqlite3 (1.7.3-arm64-darwin) + thor (1.3.2) + timecop (0.9.10) + timeout (0.4.2) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (3.1.2) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) + with_model (2.1.7) + activerecord (>= 6.0) + +PLATFORMS + arm64-darwin-20 + arm64-darwin-21 + arm64-darwin-22 + arm64-darwin-23 + arm64-darwin-24 + x86_64-darwin-19 + x86_64-darwin-20 + x86_64-darwin-21 + x86_64-linux + +DEPENDENCIES + activerecord (~> 7.2.0) + appraisal (~> 2.5) + boxt_rubocop (= 2.15.0) + byebug (~> 11.0) + logga! + rake (~> 13.2) + rspec (~> 3.13) + simplecov (~> 0.22) + sqlite3 (~> 1.7) + timecop (~> 0.9) + with_model (~> 2.1) + +BUNDLED WITH + 2.5.22 diff --git a/gemfiles/activerecord_8.gemfile b/gemfiles/activerecord_8.gemfile new file mode 100644 index 0000000..83c64b3 --- /dev/null +++ b/gemfiles/activerecord_8.gemfile @@ -0,0 +1,22 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "activerecord", "~> 8.0.0" +gem "sqlite3", "~> 2.0" + +group :development do + gem "appraisal", "~> 2.5" + gem "boxt_rubocop", "2.15.0" + gem "byebug", "~> 11.0" + gem "rake", "~> 13.2" +end + +group :test do + gem "rspec", "~> 3.13" + gem "simplecov", "~> 0.22" + gem "timecop", "~> 0.9" + gem "with_model", "~> 2.1" +end + +gemspec path: "../" diff --git a/gemfiles/activerecord_8.gemfile.lock b/gemfiles/activerecord_8.gemfile.lock new file mode 100644 index 0000000..f4a3e4e --- /dev/null +++ b/gemfiles/activerecord_8.gemfile.lock @@ -0,0 +1,157 @@ +PATH + remote: .. + specs: + logga (5.0.0) + activerecord (>= 7, < 9) + activesupport (>= 7, < 9) + +GEM + remote: https://rubygems.org/ + specs: + activemodel (8.0.0) + activesupport (= 8.0.0) + activerecord (8.0.0) + activemodel (= 8.0.0) + activesupport (= 8.0.0) + timeout (>= 0.4.0) + activesupport (8.0.0) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) + appraisal (2.5.0) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + base64 (0.2.0) + benchmark (0.4.0) + bigdecimal (3.1.8) + boxt_rubocop (2.15.0) + rubocop (= 1.69.0) + rubocop-factory_bot (= 2.26.1) + rubocop-faker (= 1.2.0) + rubocop-performance (= 1.23.0) + rubocop-rails (= 2.27.0) + rubocop-rake (= 0.6.0) + rubocop-rspec (= 3.2.0) + byebug (11.1.3) + concurrent-ruby (1.3.4) + connection_pool (2.4.1) + diff-lcs (1.5.1) + docile (1.4.1) + drb (2.2.1) + faker (3.5.1) + i18n (>= 1.8.11, < 2) + i18n (1.14.6) + concurrent-ruby (~> 1.0) + json (2.9.0) + language_server-protocol (3.17.0.3) + logger (1.6.2) + minitest (5.25.4) + parallel (1.26.3) + parser (3.3.6.0) + ast (~> 2.4.1) + racc + racc (1.8.1) + rack (3.1.8) + rainbow (3.1.1) + rake (13.2.1) + regexp_parser (2.9.3) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-core (3.13.2) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.2) + rubocop (1.69.0) + json (~> 2.3) + language_server-protocol (>= 3.17.0) + parallel (~> 1.10) + parser (>= 3.3.0.2) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 2.4, < 3.0) + rubocop-ast (>= 1.36.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.36.2) + parser (>= 3.3.1.0) + rubocop-factory_bot (2.26.1) + rubocop (~> 1.61) + rubocop-faker (1.2.0) + faker (>= 2.12.0) + rubocop (>= 1.13.0) + rubocop-performance (1.23.0) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rails (2.27.0) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 1.52.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rake (0.6.0) + rubocop (~> 1.0) + rubocop-rspec (3.2.0) + rubocop (~> 1.61) + ruby-progressbar (1.13.0) + securerandom (0.4.0) + simplecov (0.22.0) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + sqlite3 (2.4.1-arm64-darwin) + thor (1.3.2) + timecop (0.9.10) + timeout (0.4.2) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (3.1.2) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) + uri (1.0.2) + with_model (2.1.7) + activerecord (>= 6.0) + +PLATFORMS + arm64-darwin-20 + arm64-darwin-21 + arm64-darwin-22 + arm64-darwin-23 + arm64-darwin-24 + x86_64-darwin-19 + x86_64-darwin-20 + x86_64-darwin-21 + x86_64-linux + +DEPENDENCIES + activerecord (~> 8.0.0) + appraisal (~> 2.5) + boxt_rubocop (= 2.15.0) + byebug (~> 11.0) + logga! + rake (~> 13.2) + rspec (~> 3.13) + simplecov (~> 0.22) + sqlite3 (~> 2.0) + timecop (~> 0.9) + with_model (~> 2.1) + +BUNDLED WITH + 2.5.22 diff --git a/gemfiles/activerecord_main.gemfile b/gemfiles/activerecord_main.gemfile new file mode 100644 index 0000000..523804f --- /dev/null +++ b/gemfiles/activerecord_main.gemfile @@ -0,0 +1,22 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "activerecord", github: "rails/rails", branch: "main" +gem "sqlite3", "~> 2.0" + +group :development do + gem "appraisal", "~> 2.5" + gem "boxt_rubocop", "2.15.0" + gem "byebug", "~> 11.0" + gem "rake", "~> 13.2" +end + +group :test do + gem "rspec", "~> 3.13" + gem "simplecov", "~> 0.22" + gem "timecop", "~> 0.9" + gem "with_model", "~> 2.1" +end + +gemspec path: "../" diff --git a/gemfiles/activerecord_main.gemfile.lock b/gemfiles/activerecord_main.gemfile.lock new file mode 100644 index 0000000..246d4bf --- /dev/null +++ b/gemfiles/activerecord_main.gemfile.lock @@ -0,0 +1,173 @@ +GIT + remote: https://github.com/rails/rails.git + revision: ab3b87e536fc27004629aa5f32bdbe5353626111 + branch: main + specs: + activemodel (8.1.0.alpha) + activesupport (= 8.1.0.alpha) + activerecord (8.1.0.alpha) + activemodel (= 8.1.0.alpha) + activesupport (= 8.1.0.alpha) + timeout (>= 0.4.0) + activesupport (8.1.0.alpha) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) + +PATH + remote: .. + specs: + logga (5.0.0) + activerecord (>= 7, < 9) + activesupport (>= 7, < 9) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.5.0) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + base64 (0.2.0) + benchmark (0.4.0) + bigdecimal (3.1.8) + boxt_rubocop (2.15.0) + rubocop (= 1.69.0) + rubocop-factory_bot (= 2.26.1) + rubocop-faker (= 1.2.0) + rubocop-performance (= 1.23.0) + rubocop-rails (= 2.27.0) + rubocop-rake (= 0.6.0) + rubocop-rspec (= 3.2.0) + byebug (11.1.3) + concurrent-ruby (1.3.4) + connection_pool (2.4.1) + diff-lcs (1.5.1) + docile (1.4.1) + drb (2.2.1) + faker (3.5.1) + i18n (>= 1.8.11, < 2) + i18n (1.14.6) + concurrent-ruby (~> 1.0) + json (2.9.0) + language_server-protocol (3.17.0.3) + logger (1.6.2) + minitest (5.25.4) + parallel (1.26.3) + parser (3.3.6.0) + ast (~> 2.4.1) + racc + racc (1.8.1) + rack (3.1.8) + rainbow (3.1.1) + rake (13.2.1) + regexp_parser (2.9.3) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-core (3.13.2) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.2) + rubocop (1.69.0) + json (~> 2.3) + language_server-protocol (>= 3.17.0) + parallel (~> 1.10) + parser (>= 3.3.0.2) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 2.4, < 3.0) + rubocop-ast (>= 1.36.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.36.2) + parser (>= 3.3.1.0) + rubocop-factory_bot (2.26.1) + rubocop (~> 1.61) + rubocop-faker (1.2.0) + faker (>= 2.12.0) + rubocop (>= 1.13.0) + rubocop-performance (1.23.0) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rails (2.27.0) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 1.52.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rake (0.6.0) + rubocop (~> 1.0) + rubocop-rspec (3.2.0) + rubocop (~> 1.61) + ruby-progressbar (1.13.0) + securerandom (0.4.0) + simplecov (0.22.0) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + sqlite3 (2.4.1-aarch64-linux-gnu) + sqlite3 (2.4.1-aarch64-linux-musl) + sqlite3 (2.4.1-arm-linux-gnu) + sqlite3 (2.4.1-arm-linux-musl) + sqlite3 (2.4.1-arm64-darwin) + sqlite3 (2.4.1-x86-linux-gnu) + sqlite3 (2.4.1-x86-linux-musl) + sqlite3 (2.4.1-x86_64-darwin) + sqlite3 (2.4.1-x86_64-linux-gnu) + sqlite3 (2.4.1-x86_64-linux-musl) + thor (1.3.2) + timecop (0.9.10) + timeout (0.4.2) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (3.1.2) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) + uri (1.0.2) + with_model (2.1.7) + activerecord (>= 6.0) + +PLATFORMS + aarch64-linux-gnu + aarch64-linux-musl + arm-linux-gnu + arm-linux-musl + arm64-darwin + x86-linux-gnu + x86-linux-musl + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl + +DEPENDENCIES + activerecord! + appraisal (~> 2.5) + boxt_rubocop (= 2.15.0) + byebug (~> 11.0) + logga! + rake (~> 13.2) + rspec (~> 3.13) + simplecov (~> 0.22) + sqlite3 (~> 2.0) + timecop (~> 0.9) + with_model (~> 2.1) + +BUNDLED WITH + 2.5.22 diff --git a/logga.gemspec b/logga.gemspec index 66666a8..bd637fb 100644 --- a/logga.gemspec +++ b/logga.gemspec @@ -7,7 +7,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require "logga/version" Gem::Specification.new do |spec| - spec.required_ruby_version = ">= 3.0" + spec.required_ruby_version = ">= 3.1" spec.name = "logga" spec.version = Logga::VERSION spec.authors = ["Boxt"] @@ -28,6 +28,6 @@ Gem::Specification.new do |spec| "VERSION" ] - spec.add_dependency "activerecord", ">= 6", "< 8" - spec.add_dependency "activesupport", ">= 6", "< 8" + spec.add_dependency "activerecord", ">= 7", "< 9" + spec.add_dependency "activesupport", ">= 7", "< 9" end