diff --git a/.github/workflows/rubocop.yml b/.github/workflows/rubocop.yml index 3e2919a..f0517c7 100644 --- a/.github/workflows/rubocop.yml +++ b/.github/workflows/rubocop.yml @@ -8,6 +8,6 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: 3.3.3 + ruby-version: '3.4' bundler-cache: true - run: bundle exec rubocop diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2baaba9..d3e56e6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,6 +16,7 @@ jobs: - { ruby: '3.1', file: rails_7 } - { ruby: '3.2', file: rails_7 } - { ruby: '3.3', file: rails_7 } + - { ruby: '3.4', file: rails_7 } # - { ruby: '3.2' ,file: rails_edge } steps: - uses: actions/checkout@v3 @@ -27,10 +28,10 @@ jobs: - name: Setup Firefox uses: browser-actions/setup-firefox@latest with: - firefox-version: "101.0" + firefox-version: "134.0.1" - uses: browser-actions/setup-geckodriver@latest with: - geckodriver-version: "0.31.0" + geckodriver-version: "0.32.2" - name: Setup database configuration run: cp config/database.gha.yml config/database.yml - uses: harmon758/postgresql-action@v1 diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 8d244e1..521a5cd 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2024-08-31 12:33:26 UTC using RuboCop version 1.62.1. +# on 2025-02-20 15:23:50 UTC using RuboCop version 1.62.1. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -24,7 +24,7 @@ RSpec/EmptyExampleGroup: RSpec/ExampleLength: Max: 22 -# Offense count: 5 +# Offense count: 6 RSpec/MultipleExpectations: Max: 2 diff --git a/Gemfile b/Gemfile index f200066..044f69a 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,9 @@ source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } +# https://stackoverflow.com/questions/79360526/uninitialized-constant-activesupportloggerthreadsafelevellogger-nameerror +gem 'concurrent-ruby', '1.3.4' + # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" gem 'rails', '~> 7.0.8' @@ -78,5 +81,5 @@ group :test do gem 'rubocop-rake' gem 'rubocop-rspec' gem 'rubocop-rspec_rails' - gem 'selenium-webdriver' + gem 'selenium-webdriver', '4.20' end diff --git a/Gemfile.lock b/Gemfile.lock index 20f06b6..ed1a717 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,67 +1,67 @@ GEM remote: https://rubygems.org/ specs: - actioncable (7.0.8.4) - actionpack (= 7.0.8.4) - activesupport (= 7.0.8.4) + actioncable (7.0.8.7) + actionpack (= 7.0.8.7) + activesupport (= 7.0.8.7) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.8.4) - actionpack (= 7.0.8.4) - activejob (= 7.0.8.4) - activerecord (= 7.0.8.4) - activestorage (= 7.0.8.4) - activesupport (= 7.0.8.4) + actionmailbox (7.0.8.7) + actionpack (= 7.0.8.7) + activejob (= 7.0.8.7) + activerecord (= 7.0.8.7) + activestorage (= 7.0.8.7) + activesupport (= 7.0.8.7) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.8.4) - actionpack (= 7.0.8.4) - actionview (= 7.0.8.4) - activejob (= 7.0.8.4) - activesupport (= 7.0.8.4) + actionmailer (7.0.8.7) + actionpack (= 7.0.8.7) + actionview (= 7.0.8.7) + activejob (= 7.0.8.7) + activesupport (= 7.0.8.7) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.8.4) - actionview (= 7.0.8.4) - activesupport (= 7.0.8.4) + actionpack (7.0.8.7) + actionview (= 7.0.8.7) + activesupport (= 7.0.8.7) rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.8.4) - actionpack (= 7.0.8.4) - activerecord (= 7.0.8.4) - activestorage (= 7.0.8.4) - activesupport (= 7.0.8.4) + actiontext (7.0.8.7) + actionpack (= 7.0.8.7) + activerecord (= 7.0.8.7) + activestorage (= 7.0.8.7) + activesupport (= 7.0.8.7) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.8.4) - activesupport (= 7.0.8.4) + actionview (7.0.8.7) + activesupport (= 7.0.8.7) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.8.4) - activesupport (= 7.0.8.4) + activejob (7.0.8.7) + activesupport (= 7.0.8.7) globalid (>= 0.3.6) - activemodel (7.0.8.4) - activesupport (= 7.0.8.4) - activerecord (7.0.8.4) - activemodel (= 7.0.8.4) - activesupport (= 7.0.8.4) - activestorage (7.0.8.4) - actionpack (= 7.0.8.4) - activejob (= 7.0.8.4) - activerecord (= 7.0.8.4) - activesupport (= 7.0.8.4) + activemodel (7.0.8.7) + activesupport (= 7.0.8.7) + activerecord (7.0.8.7) + activemodel (= 7.0.8.7) + activesupport (= 7.0.8.7) + activestorage (7.0.8.7) + actionpack (= 7.0.8.7) + activejob (= 7.0.8.7) + activerecord (= 7.0.8.7) + activesupport (= 7.0.8.7) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.8.4) + activesupport (7.0.8.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -74,7 +74,7 @@ GEM thor (>= 0.14.0) ast (2.4.2) base64 (0.2.0) - bigdecimal (3.1.8) + bigdecimal (3.1.9) bindex (0.8.1) bootsnap (1.18.4) msgpack (~> 1.2) @@ -90,55 +90,58 @@ GEM xpath (~> 3.2) concurrent-ruby (1.3.4) crass (1.0.6) - date (3.3.4) - debug (1.9.2) + date (3.4.1) + debug (1.10.0) irb (~> 1.10) reline (>= 0.3.8) - diff-lcs (1.5.1) - dry-core (1.0.1) + diff-lcs (1.6.0) + dry-core (1.1.0) concurrent-ruby (~> 1.0) + logger zeitwerk (~> 2.6) - dry-inflector (1.1.0) - dry-logic (1.5.0) + dry-inflector (1.2.0) + dry-logic (1.6.0) + bigdecimal concurrent-ruby (~> 1.0) - dry-core (~> 1.0, < 2) + dry-core (~> 1.1) zeitwerk (~> 2.6) - dry-types (1.7.2) + dry-types (1.8.2) bigdecimal (~> 3.0) concurrent-ruby (~> 1.0) dry-core (~> 1.0) dry-inflector (~> 1.0) dry-logic (~> 1.4) zeitwerk (~> 2.6) - erubi (1.13.0) + erubi (1.13.1) globalid (1.2.1) activesupport (>= 6.1) - grape (2.1.3) + grape (2.3.0) activesupport (>= 6) dry-types (>= 1.1) mustermann-grape (~> 1.1.0) rack (>= 2) zeitwerk - grape-swagger (2.1.0) + grape-swagger (2.1.2) grape (>= 1.7, < 3.0) rack-test (~> 2) - i18n (1.14.5) + i18n (1.14.7) concurrent-ruby (~> 1.0) - importmap-rails (2.0.1) + importmap-rails (2.1.0) actionpack (>= 6.0.0) activesupport (>= 6.0.0) railties (>= 6.0.0) - io-console (0.7.2) - irb (1.14.0) + io-console (0.8.0) + irb (1.15.1) + pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) - jbuilder (2.12.0) + jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - json (2.7.2) - language_server-protocol (3.17.0.3) - logger (1.6.0) - loofah (2.23.1) + json (2.10.1) + language_server-protocol (3.17.0.4) + logger (1.6.6) + loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -150,105 +153,101 @@ GEM matrix (0.4.2) method_source (1.1.0) mini_mime (1.1.5) - minitest (5.25.1) - msgpack (1.7.2) - mustermann (3.0.2) + mini_portile2 (2.8.8) + minitest (5.25.4) + msgpack (1.8.0) + mustermann (3.0.3) ruby2_keywords (~> 0.0.1) mustermann-grape (1.1.0) mustermann (>= 1.0.0) - net-imap (0.4.15) + net-imap (0.5.6) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) net-protocol - nio4r (2.7.3) - nokogiri (1.16.8-aarch64-linux) - racc (~> 1.4) - nokogiri (1.16.8-arm-linux) - racc (~> 1.4) - nokogiri (1.16.8-arm64-darwin) - racc (~> 1.4) - nokogiri (1.16.8-x86-linux) - racc (~> 1.4) - nokogiri (1.16.8-x86_64-darwin) - racc (~> 1.4) - nokogiri (1.16.8-x86_64-linux) + nio4r (2.7.4) + nokogiri (1.18.3) + mini_portile2 (~> 2.8.2) racc (~> 1.4) parallel (1.26.3) - parser (3.3.4.2) + parser (3.3.7.1) ast (~> 2.4.1) racc - pg (1.5.7) - psych (5.1.2) + pg (1.5.9) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + psych (5.2.3) + date stringio public_suffix (6.0.1) - puma (6.4.2) + puma (6.6.0) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.9) - rack-test (2.1.0) + rack (2.2.11) + rack-test (2.2.0) rack (>= 1.3) - rails (7.0.8.4) - actioncable (= 7.0.8.4) - actionmailbox (= 7.0.8.4) - actionmailer (= 7.0.8.4) - actionpack (= 7.0.8.4) - actiontext (= 7.0.8.4) - actionview (= 7.0.8.4) - activejob (= 7.0.8.4) - activemodel (= 7.0.8.4) - activerecord (= 7.0.8.4) - activestorage (= 7.0.8.4) - activesupport (= 7.0.8.4) + rails (7.0.8.7) + actioncable (= 7.0.8.7) + actionmailbox (= 7.0.8.7) + actionmailer (= 7.0.8.7) + actionpack (= 7.0.8.7) + actiontext (= 7.0.8.7) + actionview (= 7.0.8.7) + activejob (= 7.0.8.7) + activemodel (= 7.0.8.7) + activerecord (= 7.0.8.7) + activestorage (= 7.0.8.7) + activesupport (= 7.0.8.7) bundler (>= 1.15.0) - railties (= 7.0.8.4) + railties (= 7.0.8.7) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.1) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) - railties (7.0.8.4) - actionpack (= 7.0.8.4) - activesupport (= 7.0.8.4) + railties (7.0.8.7) + actionpack (= 7.0.8.7) + activesupport (= 7.0.8.7) method_source rake (>= 12.2) thor (~> 1.0) zeitwerk (~> 2.5) rainbow (3.1.1) rake (13.2.1) - rdoc (6.7.0) + rdoc (6.12.0) psych (>= 4.0.0) - regexp_parser (2.9.2) - reline (0.5.9) + regexp_parser (2.10.0) + reline (0.6.0) io-console (~> 0.5) - rexml (3.3.9) + rexml (3.4.1) rspec (3.13.0) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.0) + rspec-core (3.13.3) rspec-support (~> 3.13.0) - rspec-expectations (3.13.2) + 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-rails (6.1.4) - actionpack (>= 6.1) - activesupport (>= 6.1) - railties (>= 6.1) + rspec-rails (7.1.1) + actionpack (>= 7.0) + activesupport (>= 7.0) + railties (>= 7.0) rspec-core (~> 3.13) rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.1) + rspec-support (3.13.2) rubocop (1.62.1) json (~> 2.3) language_server-protocol (>= 3.17.0) @@ -260,28 +259,27 @@ GEM rubocop-ast (>= 1.31.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.32.1) + rubocop-ast (1.38.0) parser (>= 3.3.1.0) rubocop-capybara (2.21.0) rubocop (~> 1.41) - rubocop-rails (2.26.0) + rubocop-rails (2.29.1) 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.0.4) + rubocop-rspec (3.4.0) rubocop (~> 1.61) rubocop-rspec_rails (2.30.0) rubocop (~> 1.61) rubocop-rspec (~> 3, >= 3.0.1) ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) - rubyzip (2.3.2) - selenium-webdriver (4.24.0) + rubyzip (2.4.1) + selenium-webdriver (4.20.0) base64 (~> 0.2) - logger (~> 1.4) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) @@ -294,41 +292,37 @@ GEM sprockets (>= 3.0.0) stimulus-rails (1.3.4) railties (>= 6.0.0) - stringio (3.1.1) + stringio (3.1.4) thor (1.3.2) - timeout (0.4.1) - turbo-rails (2.0.6) + timeout (0.4.3) + turbo-rails (2.0.11) actionpack (>= 6.0.0) - activejob (>= 6.0.0) railties (>= 6.0.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.5.0) + unicode-display_width (2.6.0) web-console (4.2.1) actionview (>= 6.0.0) activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) websocket (1.2.11) - websocket-driver (0.7.6) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.17) + zeitwerk (2.7.2) PLATFORMS - aarch64-linux - arm-linux - arm64-darwin - x86-linux - x86_64-darwin - x86_64-linux + ruby DEPENDENCIES appraisal bootsnap capybara + concurrent-ruby (= 1.3.4) debug grape (~> 2.1) grape-swagger @@ -345,7 +339,7 @@ DEPENDENCIES rubocop-rake rubocop-rspec rubocop-rspec_rails - selenium-webdriver + selenium-webdriver (= 4.20) sprockets-rails stimulus-rails turbo-rails diff --git a/gemfiles/rails_6.gemfile b/gemfiles/rails_6.gemfile index 596af58..d6927b1 100644 --- a/gemfiles/rails_6.gemfile +++ b/gemfiles/rails_6.gemfile @@ -3,6 +3,7 @@ source 'https://rubygems.org' gem 'bootsnap', require: false +gem 'concurrent-ruby', '1.3.4' gem 'grape', '~> 2.1' gem 'grape-swagger' gem 'importmap-rails' @@ -34,5 +35,5 @@ group :test do gem 'rubocop-rake' gem 'rubocop-rspec' gem 'rubocop-rspec_rails' - gem 'selenium-webdriver' + gem 'selenium-webdriver', '4.20' end diff --git a/gemfiles/rails_6_1.gemfile b/gemfiles/rails_6_1.gemfile index 0ee3efa..82f114d 100644 --- a/gemfiles/rails_6_1.gemfile +++ b/gemfiles/rails_6_1.gemfile @@ -3,6 +3,7 @@ source 'https://rubygems.org' gem 'bootsnap', require: false +gem 'concurrent-ruby', '1.3.4' gem 'grape', '~> 2.1' gem 'grape-swagger' gem 'importmap-rails' @@ -34,5 +35,5 @@ group :test do gem 'rubocop-rake' gem 'rubocop-rspec' gem 'rubocop-rspec_rails' - gem 'selenium-webdriver' + gem 'selenium-webdriver', '4.20' end diff --git a/gemfiles/rails_7.gemfile b/gemfiles/rails_7.gemfile index a15c028..0b3bde8 100644 --- a/gemfiles/rails_7.gemfile +++ b/gemfiles/rails_7.gemfile @@ -3,6 +3,7 @@ source 'https://rubygems.org' gem 'bootsnap', require: false +gem 'concurrent-ruby', '1.3.4' gem 'grape', '~> 2.1' gem 'grape-swagger' gem 'importmap-rails' @@ -34,5 +35,5 @@ group :test do gem 'rubocop-rake' gem 'rubocop-rspec' gem 'rubocop-rspec_rails' - gem 'selenium-webdriver' + gem 'selenium-webdriver', '4.20' end diff --git a/gemfiles/rails_edge.gemfile b/gemfiles/rails_edge.gemfile index 6ae245c..0573b37 100644 --- a/gemfiles/rails_edge.gemfile +++ b/gemfiles/rails_edge.gemfile @@ -3,6 +3,7 @@ source 'https://rubygems.org' gem 'bootsnap', require: false +gem 'concurrent-ruby', '1.3.4' gem 'grape', '~> 2.1' gem 'grape-swagger' gem 'importmap-rails' @@ -34,5 +35,5 @@ group :test do gem 'rubocop-rake' gem 'rubocop-rspec' gem 'rubocop-rspec_rails' - gem 'selenium-webdriver' + gem 'selenium-webdriver', '4.20' end