diff --git a/.ruby-version b/.ruby-version index f13c6f4..408069a 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -ruby-3.3.5 +ruby-3.4.1 diff --git a/Dockerfile b/Dockerfile index b795325..b888761 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,7 @@ RUN apk add --no-cache curl RUN curl -L -f -o 'GeoLite2-City.mmdb' 'https://github.com/P3TERX/GeoLite.mmdb/raw/download/GeoLite2-City.mmdb' -FROM ruby:3.3.5-bullseye +FROM ruby:3.4.1-bullseye RUN apt-get update --fix-missing \ && apt-get install -y --no-install-recommends libvips-dev openssl libjemalloc2 libsnappy-dev \ diff --git a/Gemfile b/Gemfile index 1d9a1d8..b1ec0f7 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } -gem 'rails', '~> 7.1' +gem 'rails', '~> 8.0' gem 'bcrypt' gem 'bootsnap', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 3f63ed2..77c569e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,66 +9,65 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (7.2.2.1) - actionpack (= 7.2.2.1) - activesupport (= 7.2.2.1) + actioncable (8.0.1) + actionpack (= 8.0.1) + activesupport (= 8.0.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.2.2.1) - actionpack (= 7.2.2.1) - activejob (= 7.2.2.1) - activerecord (= 7.2.2.1) - activestorage (= 7.2.2.1) - activesupport (= 7.2.2.1) + actionmailbox (8.0.1) + actionpack (= 8.0.1) + activejob (= 8.0.1) + activerecord (= 8.0.1) + activestorage (= 8.0.1) + activesupport (= 8.0.1) mail (>= 2.8.0) - actionmailer (7.2.2.1) - actionpack (= 7.2.2.1) - actionview (= 7.2.2.1) - activejob (= 7.2.2.1) - activesupport (= 7.2.2.1) + actionmailer (8.0.1) + actionpack (= 8.0.1) + actionview (= 8.0.1) + activejob (= 8.0.1) + activesupport (= 8.0.1) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (7.2.2.1) - actionview (= 7.2.2.1) - activesupport (= 7.2.2.1) + actionpack (8.0.1) + actionview (= 8.0.1) + activesupport (= 8.0.1) nokogiri (>= 1.8.5) - racc - rack (>= 2.2.4, < 3.2) + rack (>= 2.2.4) rack-session (>= 1.0.1) rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actiontext (7.2.2.1) - actionpack (= 7.2.2.1) - activerecord (= 7.2.2.1) - activestorage (= 7.2.2.1) - activesupport (= 7.2.2.1) + actiontext (8.0.1) + actionpack (= 8.0.1) + activerecord (= 8.0.1) + activestorage (= 8.0.1) + activesupport (= 8.0.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.2.2.1) - activesupport (= 7.2.2.1) + actionview (8.0.1) + activesupport (= 8.0.1) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (7.2.2.1) - activesupport (= 7.2.2.1) + activejob (8.0.1) + activesupport (= 8.0.1) globalid (>= 0.3.6) - activemodel (7.2.2.1) - activesupport (= 7.2.2.1) - activerecord (7.2.2.1) - activemodel (= 7.2.2.1) - activesupport (= 7.2.2.1) + activemodel (8.0.1) + activesupport (= 8.0.1) + activerecord (8.0.1) + activemodel (= 8.0.1) + activesupport (= 8.0.1) timeout (>= 0.4.0) - activestorage (7.2.2.1) - actionpack (= 7.2.2.1) - activejob (= 7.2.2.1) - activerecord (= 7.2.2.1) - activesupport (= 7.2.2.1) + activestorage (8.0.1) + actionpack (= 8.0.1) + activejob (= 8.0.1) + activerecord (= 8.0.1) + activesupport (= 8.0.1) marcel (~> 1.0) - activesupport (7.2.2.1) + activesupport (8.0.1) base64 benchmark (>= 0.3) bigdecimal @@ -80,41 +79,42 @@ GEM minitest (>= 5.1) securerandom (>= 0.3) tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) aes_key_wrap (1.1.0) ast (2.4.2) awesome_print (1.9.2) aws-eventstream (1.3.0) - aws-partitions (1.992.0) - aws-sdk-core (3.210.0) + aws-partitions (1.1029.0) + aws-sdk-core (3.214.1) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.95.0) + aws-sdk-kms (1.96.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.169.0) + aws-sdk-s3 (1.176.1) aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) - aws-sigv4 (1.10.0) + aws-sigv4 (1.10.1) aws-eventstream (~> 1, >= 1.0.2) base64 (0.2.0) bcrypt (3.1.20) benchmark (0.4.0) - bigdecimal (3.1.8) + bigdecimal (3.1.9) bindata (2.5.0) bootsnap (1.18.4) msgpack (~> 1.2) - brakeman (6.2.2) + brakeman (7.0.0) racc - browser (6.0.0) - bson (5.0.1) + browser (6.2.0) + bson (5.0.2) builder (3.3.0) byebug (11.1.3) - caxlsx (4.1.0) + caxlsx (4.2.0) htmlentities (~> 4.3, >= 4.3.4) marcel (~> 1.0) nokogiri (~> 1.10, >= 1.10.4) @@ -126,7 +126,7 @@ GEM connection_pool (2.4.1) content_disposition (1.0.0) crass (1.0.6) - csv (3.3.0) + csv (3.3.2) date (3.4.1) devise (4.9.4) bcrypt (~> 3.0) @@ -139,7 +139,7 @@ GEM doorkeeper rails diff-lcs (1.5.1) - doorkeeper (5.7.1) + doorkeeper (5.8.1) railties (>= 5) doorkeeper-mongodb (5.4.0) doorkeeper (>= 5.2, < 6.0) @@ -148,21 +148,21 @@ GEM drb (2.2.1) enumerize (2.8.1) activesupport (>= 3.2) - erubi (1.13.0) - faraday (2.12.0) - faraday-net_http (>= 2.0, < 3.4) + erubi (1.13.1) + faraday (2.12.2) + faraday-net_http (>= 2.0, < 3.5) json logger faraday-follow_redirects (0.3.0) faraday (>= 1, < 3) - faraday-net_http (3.3.0) - net-http + faraday-net_http (3.4.0) + net-http (>= 0.5.0) fast-stemmer (1.0.2) ffaker (2.23.0) - ffi (1.17.0) + ffi (1.17.1) figaro (1.2.0) thor (>= 0.14.0, < 2) - geocoder (1.8.3) + geocoder (1.8.5) base64 (>= 0.1.0) csv (>= 3.0.0) globalid (1.2.1) @@ -179,11 +179,11 @@ GEM mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) io-console (0.8.0) - irb (1.14.1) + irb (1.14.3) rdoc (>= 4.0.0) reline (>= 0.4.2) jmespath (1.6.2) - json (2.7.2) + json (2.9.1) json-jwt (1.16.7) activesupport (>= 4.2) aes_key_wrap @@ -191,14 +191,15 @@ GEM bindata faraday (~> 2.0) faraday-follow_redirects - json-schema (5.0.1) + json-schema (5.1.1) addressable (~> 2.8) + bigdecimal (~> 3.1) json-schema_builder (0.8.2) activesupport (>= 4.0) json-schema (>= 2.1) jsonapi-serializer (2.2.0) activesupport (>= 4.2) - jwt (2.9.3) + jwt (2.10.1) base64 kaminari-core (1.2.2) kaminari-mongoid (1.0.2) @@ -208,8 +209,8 @@ GEM listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - logger (1.6.2) - loofah (2.23.1) + logger (1.6.4) + loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -227,29 +228,29 @@ GEM bson (>= 4.14.1, < 6.0.0) mongo_logs_on_roids (1.1.0) mongo (~> 2.1) - mongoid (9.0.2) - activemodel (>= 5.1, < 7.3, != 7.0.0) + mongoid (9.0.3) + activemodel (>= 5.1, < 8.1, != 7.0.0) concurrent-ruby (>= 1.0.5, < 2.0) mongo (>= 2.18.0, < 3.0.0) mongoid-locker (2.1.0) mongoid (>= 5.0, < 10) mongoid-tree (2.3.0) mongoid (>= 4.0, < 10) - mongoid_rails_migrations (1.4.0) + mongoid_rails_migrations (1.6.1) activesupport (>= 4.2.0) bundler (>= 1.0.0) - mongoid (>= 4.0.0) + mongoid (>= 5.0.0, != 9.0.2, != 9.0.1, != 9.0.0) rails (>= 4.2.0) railties (>= 4.2.0) mongoid_search (0.4.0) fast-stemmer (~> 1.0.0) mongoid (>= 5.0.0) - msgpack (1.7.3) + msgpack (1.7.5) multi_xml (0.7.1) bigdecimal (~> 3.1) - net-http (0.4.1) + net-http (0.6.0) uri - net-imap (0.5.1) + net-imap (0.5.4) date net-protocol net-pop (0.1.2) @@ -257,9 +258,8 @@ GEM net-protocol (0.2.2) timeout net-smtp (0.5.0) - net-protocol nio4r (2.7.4) - nokogiri (1.17.1) + nokogiri (1.18.1) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth2 (2.0.9) @@ -269,7 +269,7 @@ GEM rack (>= 1.2, < 4) snaky_hash (~> 2.0) version_gem (~> 1.1) - oj (3.16.6) + oj (3.16.9) bigdecimal (>= 3.0) ostruct (>= 0.2) omniauth (2.1.2) @@ -284,7 +284,7 @@ GEM oauth2 (~> 2.0) omniauth (~> 2.0) omniauth-oauth2 (~> 1.8) - omniauth-microsoft_graph (2.0.0) + omniauth-microsoft_graph (2.0.1) jwt (~> 2.0) omniauth (~> 2.0) omniauth-oauth2 (~> 1.8.0) @@ -295,55 +295,56 @@ GEM actionpack (>= 4.2) omniauth (~> 2.0) orm_adapter (0.5.0) - ostruct (0.6.0) + ostruct (0.6.1) parallel (1.26.3) - parser (3.3.5.0) + parser (3.3.6.0) ast (~> 2.4.1) racc - prism (1.2.0) + prism (1.3.0) psych (3.3.4) public_suffix (6.0.1) - puma (6.4.3) + puma (6.5.0) nio4r (~> 2.0) racc (1.8.1) rack (3.1.8) - rack-protection (4.0.0) + rack-protection (4.1.1) base64 (>= 0.1.0) + logger (>= 1.6.0) rack (>= 3.0.0, < 4) rack-session (2.0.0) rack (>= 3.0.0) - rack-test (2.1.0) + rack-test (2.2.0) rack (>= 1.3) rackup (2.2.1) rack (>= 3) - rails (7.2.2.1) - actioncable (= 7.2.2.1) - actionmailbox (= 7.2.2.1) - actionmailer (= 7.2.2.1) - actionpack (= 7.2.2.1) - actiontext (= 7.2.2.1) - actionview (= 7.2.2.1) - activejob (= 7.2.2.1) - activemodel (= 7.2.2.1) - activerecord (= 7.2.2.1) - activestorage (= 7.2.2.1) - activesupport (= 7.2.2.1) + rails (8.0.1) + actioncable (= 8.0.1) + actionmailbox (= 8.0.1) + actionmailer (= 8.0.1) + actionpack (= 8.0.1) + actiontext (= 8.0.1) + actionview (= 8.0.1) + activejob (= 8.0.1) + activemodel (= 8.0.1) + activerecord (= 8.0.1) + activestorage (= 8.0.1) + activesupport (= 8.0.1) bundler (>= 1.15.0) - railties (= 7.2.2.1) + railties (= 8.0.1) 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) rails_semantic_logger (4.17.0) rack railties (>= 5.1) semantic_logger (~> 4.16) - railties (7.2.2.1) - actionpack (= 7.2.2.1) - activesupport (= 7.2.2.1) + railties (8.0.1) + actionpack (= 8.0.1) + activesupport (= 8.0.1) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -355,9 +356,9 @@ GEM rb-inotify (0.11.1) ffi (~> 1.0) rdoc (6.3.4.1) - recaptcha (5.17.0) - regexp_parser (2.9.2) - reline (0.5.12) + recaptcha (5.18.0) + regexp_parser (2.10.0) + reline (0.6.0) io-console (~> 0.5) responders (3.1.1) actionpack (>= 5.2) @@ -379,7 +380,7 @@ GEM rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.0.1) + rspec-rails (7.1.0) actionpack (>= 7.0) activesupport (>= 7.0) railties (>= 7.0) @@ -387,42 +388,42 @@ GEM rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.1) - rswag (2.15.0) - rswag-api (= 2.15.0) - rswag-specs (= 2.15.0) - rswag-ui (= 2.15.0) - rswag-api (2.15.0) - activesupport (>= 5.2, < 8.0) - railties (>= 5.2, < 8.0) - rswag-specs (2.15.0) - activesupport (>= 5.2, < 8.0) + rspec-support (3.13.2) + rswag (2.16.0) + rswag-api (= 2.16.0) + rswag-specs (= 2.16.0) + rswag-ui (= 2.16.0) + rswag-api (2.16.0) + activesupport (>= 5.2, < 8.1) + railties (>= 5.2, < 8.1) + rswag-specs (2.16.0) + activesupport (>= 5.2, < 8.1) json-schema (>= 2.2, < 6.0) - railties (>= 5.2, < 8.0) + railties (>= 5.2, < 8.1) rspec-core (>= 2.14) - rswag-ui (2.15.0) - actionpack (>= 5.2, < 8.0) - railties (>= 5.2, < 8.0) - rubocop (1.67.0) + rswag-ui (2.16.0) + actionpack (>= 5.2, < 8.1) + railties (>= 5.2, < 8.1) + rubocop (1.69.2) 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.32.2, < 2.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.36.2, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.32.3) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.37.0) parser (>= 3.3.1.0) rubocop-factory_bot (2.26.1) rubocop (~> 1.61) - rubocop-rails (2.26.2) + rubocop-rails (2.28.0) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.52.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (3.1.0) + rubocop-rspec (3.3.0) rubocop (~> 1.61) rubocop-rspec_rails (2.30.0) rubocop (~> 1.61) @@ -435,13 +436,13 @@ GEM sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) - securerandom (0.4.0) + securerandom (0.4.1) semantic_logger (4.16.1) concurrent-ruby (~> 1.0) - sentry-rails (5.21.0) + sentry-rails (5.22.1) railties (>= 5.0) - sentry-ruby (~> 5.21.0) - sentry-ruby (5.21.0) + sentry-ruby (~> 5.22.1) + sentry-ruby (5.22.1) bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) shrine (3.6.0) @@ -454,16 +455,18 @@ GEM hashie version_gem (~> 1.1, >= 1.1.1) snappy (0.4.0) - strip_attributes (1.13.0) - activemodel (>= 3.0, < 8.0) + strip_attributes (1.14.1) + activemodel (>= 3.0, < 9.0) thor (1.3.2) - timeout (0.4.2) + timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) tzinfo-data (1.2024.2) tzinfo (>= 1.0.0) - unicode-display_width (2.6.0) - uri (0.13.1) + unicode-display_width (3.1.3) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) + uri (1.0.2) useragent (0.16.11) version_gem (1.1.4) warden (1.2.9) @@ -520,7 +523,7 @@ DEPENDENCIES prism psych (< 4) puma - rails (~> 7.1) + rails (~> 8.0) rails_semantic_logger recaptcha rqrcode diff --git a/config/application.rb b/config/application.rb index 4499706..6836cb3 100644 --- a/config/application.rb +++ b/config/application.rb @@ -38,8 +38,8 @@ class Application < Rails::Application # allows for defining `format` in locale yamls to get rid of attribute name in front config.active_model.i18n_customize_full_message = true - # allows for defining `format` in locale yamls to get rid of attribute name in front - config.active_model.i18n_customize_full_message = true + # new default starting with Rails 8.1 + config.active_support.to_time_preserves_timezone = :zone # Only loads a smaller set of middleware suitable for API only apps. # Middleware like session, flash, cookies can be added back manually.