diff --git a/.rubocop.yml b/.rubocop.yml index e4f9451..c073b39 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -17,19 +17,30 @@ inherit_mode: merge: - Exclude +# The guiding principle of classes is SRP, SRP can't be accurately measured by LoC +Metrics/ClassLength: + Max: 1500 + # Too short methods lead to extraction of single-use methods, which can make # the code easier to read (by naming things), but can also clutter the class Metrics/MethodLength: Max: 20 -# The guiding principle of classes is SRP, SRP can't be accurately measured by LoC -Metrics/ClassLength: - Max: 1500 - # We don't need screaming snake case all the damn time Naming/ConstantName: Enabled: false +Style/Documentation: + Enabled: false + +Style/FrozenStringLiteralComment: + Enabled: false + +# If the argument key is the same name as the value, still require it +# e.g. { foo: foo } +Style/HashSyntax: + EnforcedShorthandSyntax: never + # Single quotes being faster is hardly measurable and only affects parse time. # Enforcing double quotes reduces the times where you need to change them # when introducing an interpolation. Use single quotes only if their semantics @@ -37,18 +48,12 @@ Naming/ConstantName: Style/StringLiterals: EnforcedStyle: double_quotes -Style/FrozenStringLiteralComment: - Enabled: false - -Style/Documentation: - Enabled: false +Style/SymbolArray: + EnforcedStyle: brackets Style/TrailingCommaInArguments: EnforcedStyleForMultiline: consistent_comma -Style/SymbolArray: - EnforcedStyle: brackets - Style/WordArray: EnforcedStyle: brackets diff --git a/.ruby-version b/.ruby-version index b502146..fd2a018 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.0.2 +3.1.0 diff --git a/Dockerfile b/Dockerfile index 3946684..a87540e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Use an official Ruby runtime as a parent image -FROM ruby:3.0.2 +FROM ruby:3.1.0 ENV APP_DIR="/app/" RUN mkdir $APP_DIR diff --git a/Gemfile b/Gemfile index f1563e1..f45ecc3 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } -ruby "3.0.2" +ruby "3.1.0" # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" gem "rails", "~> 6.1.4" diff --git a/Gemfile.lock b/Gemfile.lock index 4451e85..544fdad 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,151 +1,150 @@ GEM remote: https://rubygems.org/ specs: - actioncable (6.1.4) - actionpack (= 6.1.4) - activesupport (= 6.1.4) + actioncable (6.1.4.4) + actionpack (= 6.1.4.4) + activesupport (= 6.1.4.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.4) - actionpack (= 6.1.4) - activejob (= 6.1.4) - activerecord (= 6.1.4) - activestorage (= 6.1.4) - activesupport (= 6.1.4) + actionmailbox (6.1.4.4) + actionpack (= 6.1.4.4) + activejob (= 6.1.4.4) + activerecord (= 6.1.4.4) + activestorage (= 6.1.4.4) + activesupport (= 6.1.4.4) mail (>= 2.7.1) - actionmailer (6.1.4) - actionpack (= 6.1.4) - actionview (= 6.1.4) - activejob (= 6.1.4) - activesupport (= 6.1.4) + actionmailer (6.1.4.4) + actionpack (= 6.1.4.4) + actionview (= 6.1.4.4) + activejob (= 6.1.4.4) + activesupport (= 6.1.4.4) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.4) - actionview (= 6.1.4) - activesupport (= 6.1.4) + actionpack (6.1.4.4) + actionview (= 6.1.4.4) + activesupport (= 6.1.4.4) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.4) - actionpack (= 6.1.4) - activerecord (= 6.1.4) - activestorage (= 6.1.4) - activesupport (= 6.1.4) + actiontext (6.1.4.4) + actionpack (= 6.1.4.4) + activerecord (= 6.1.4.4) + activestorage (= 6.1.4.4) + activesupport (= 6.1.4.4) nokogiri (>= 1.8.5) - actionview (6.1.4) - activesupport (= 6.1.4) + actionview (6.1.4.4) + activesupport (= 6.1.4.4) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (6.1.4) - activesupport (= 6.1.4) + activejob (6.1.4.4) + activesupport (= 6.1.4.4) globalid (>= 0.3.6) - activemodel (6.1.4) - activesupport (= 6.1.4) - activerecord (6.1.4) - activemodel (= 6.1.4) - activesupport (= 6.1.4) - activestorage (6.1.4) - actionpack (= 6.1.4) - activejob (= 6.1.4) - activerecord (= 6.1.4) - activesupport (= 6.1.4) + activemodel (6.1.4.4) + activesupport (= 6.1.4.4) + activerecord (6.1.4.4) + activemodel (= 6.1.4.4) + activesupport (= 6.1.4.4) + activestorage (6.1.4.4) + actionpack (= 6.1.4.4) + activejob (= 6.1.4.4) + activerecord (= 6.1.4.4) + activesupport (= 6.1.4.4) marcel (~> 1.0.0) mini_mime (>= 1.1.0) - activesupport (6.1.4) + activesupport (6.1.4.4) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) zeitwerk (~> 2.3) - argon2-kdf (0.1.6) + argon2-kdf (0.1.7) ast (2.4.2) - blind_index (2.2.0) - activesupport (>= 5) + blind_index (2.3.0) + activesupport (>= 5.2) argon2-kdf (>= 0.1.1) - bootsnap (1.7.7) - msgpack (~> 1.0) + bootsnap (1.10.2) + msgpack (~> 1.2) builder (3.2.4) byebug (11.1.3) coderay (1.1.3) concurrent-ruby (1.1.9) crass (1.0.6) - diff-lcs (1.4.4) + diff-lcs (1.5.0) erubi (1.10.0) - ffi (1.15.3) - globalid (0.5.2) + ffi (1.15.5) + globalid (1.0.0) activesupport (>= 5.0) - http-2-next (0.4.3) - httpx (0.16.0) + http-2-next (0.5.0) + httpx (0.18.7) http-2-next (>= 0.4.1) - timers - i18n (1.8.10) + i18n (1.8.11) concurrent-ruby (~> 1.0) - listen (3.6.0) + listen (3.7.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - lockbox (0.6.5) - loofah (2.11.0) + lockbox (0.6.6) + loofah (2.13.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) mail (2.7.1) mini_mime (>= 0.1.1) - marcel (1.0.1) + marcel (1.0.2) method_source (1.0.0) - mini_mime (1.1.0) - minitest (5.14.4) - msgpack (1.4.2) + mini_mime (1.1.2) + minitest (5.15.0) + msgpack (1.4.3) nio4r (2.5.8) - nokogiri (1.12.2-x86_64-linux) + nokogiri (1.13.1-x86_64-linux) racc (~> 1.4) - parallel (1.20.1) - parser (3.0.2.0) + parallel (1.21.0) + parser (3.1.0.0) ast (~> 2.4.1) pg (1.2.3) pry (0.14.1) coderay (~> 1.1) method_source (~> 1.0) - puma (5.4.0) + puma (5.5.2) nio4r (~> 2.0) - racc (1.5.2) + racc (1.6.0) rack (2.2.3) rack-test (1.1.0) rack (>= 1.0, < 3) - rails (6.1.4) - actioncable (= 6.1.4) - actionmailbox (= 6.1.4) - actionmailer (= 6.1.4) - actionpack (= 6.1.4) - actiontext (= 6.1.4) - actionview (= 6.1.4) - activejob (= 6.1.4) - activemodel (= 6.1.4) - activerecord (= 6.1.4) - activestorage (= 6.1.4) - activesupport (= 6.1.4) + rails (6.1.4.4) + actioncable (= 6.1.4.4) + actionmailbox (= 6.1.4.4) + actionmailer (= 6.1.4.4) + actionpack (= 6.1.4.4) + actiontext (= 6.1.4.4) + actionview (= 6.1.4.4) + activejob (= 6.1.4.4) + activemodel (= 6.1.4.4) + activerecord (= 6.1.4.4) + activestorage (= 6.1.4.4) + activesupport (= 6.1.4.4) bundler (>= 1.15.0) - railties (= 6.1.4) + railties (= 6.1.4.4) sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) - rails-html-sanitizer (1.3.0) + rails-html-sanitizer (1.4.2) loofah (~> 2.3) - railties (6.1.4) - actionpack (= 6.1.4) - activesupport (= 6.1.4) + railties (6.1.4.4) + actionpack (= 6.1.4.4) + activesupport (= 6.1.4.4) method_source rake (>= 0.13) thor (~> 1.0) - rainbow (3.0.0) + rainbow (3.1.1) rake (13.0.6) rb-fsevent (0.11.0) rb-inotify (0.10.1) ffi (~> 1.0) - redis (4.4.0) - regexp_parser (2.1.1) + redis (4.5.1) + regexp_parser (2.2.0) rexml (3.2.5) rspec (3.10.0) rspec-core (~> 3.10.0) @@ -153,13 +152,13 @@ GEM rspec-mocks (~> 3.10.0) rspec-core (3.10.1) rspec-support (~> 3.10.0) - rspec-expectations (3.10.1) + rspec-expectations (3.10.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.10.0) rspec-mocks (3.10.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.10.0) - rspec-rails (5.0.1) + rspec-rails (5.0.2) actionpack (>= 5.2) activesupport (>= 5.2) railties (>= 5.2) @@ -167,48 +166,46 @@ GEM rspec-expectations (~> 3.10) rspec-mocks (~> 3.10) rspec-support (~> 3.10) - rspec-support (3.10.2) - rubocop (1.18.4) + rspec-support (3.10.3) + rubocop (1.25.0) parallel (~> 1.10) - parser (>= 3.0.0.0) + parser (>= 3.1.0.0) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml - rubocop-ast (>= 1.8.0, < 2.0) + rubocop-ast (>= 1.15.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.8.0) + rubocop-ast (1.15.1) parser (>= 3.0.1.1) - rubocop-performance (1.11.4) + rubocop-performance (1.13.2) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) - rubocop-rails (2.11.3) + rubocop-rails (2.13.2) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.7.0, < 2.0) - rubocop-rspec (2.4.0) - rubocop (~> 1.0) - rubocop-ast (>= 1.1.0) + rubocop-rspec (2.7.0) + rubocop (~> 1.19) ruby-progressbar (1.11.0) - shoulda-matchers (5.0.0) + shoulda-matchers (5.1.0) activesupport (>= 5.2.0) - spring (2.1.1) + spring (4.0.0) sprockets (4.0.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) - sprockets-rails (3.2.2) - actionpack (>= 4.0) - activesupport (>= 4.0) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) sprockets (>= 3.0.0) - thor (1.1.0) - timers (4.3.3) + thor (1.2.1) tzinfo (2.0.4) concurrent-ruby (~> 1.0) - unicode-display_width (2.0.0) + unicode-display_width (2.1.0) websocket-driver (0.7.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.4.2) + zeitwerk (2.5.3) PLATFORMS x86_64-linux @@ -236,7 +233,7 @@ DEPENDENCIES tzinfo-data RUBY VERSION - ruby 3.0.2p107 + ruby 3.1.0p0 BUNDLED WITH - 2.2.22 + 2.3.3