diff --git a/.rubocop.yml b/.rubocop.yml index 6998941144..330c40de1b 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -174,6 +174,15 @@ Style/ClassAndModuleChildren: Style/Documentation: Enabled: false +# Reason: Route redirects are not token-formatted and must be skipped +# https://docs.rubocop.org/rubocop/cops_style.html#styleformatstringtoken +Style/FormatStringToken: + inherit_mode: + merge: + - AllowedMethods # The rubocop-rails config adds `redirect` + AllowedMethods: + - redirect_with_vary + # Reason: Enforce modern Ruby style # https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax Style/HashSyntax: diff --git a/config/routes.rb b/config/routes.rb index c4f862acaf..bb088821fd 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -104,12 +104,12 @@ Rails.application.routes.draw do confirmations: 'auth/confirmations', } - # rubocop:disable Style/FormatStringToken - those do not go through the usual formatting functions and are not safe to correct - get '/users/:username', to: redirect_with_vary('/@%{username}'), constraints: ->(req) { req.format.nil? || req.format.html? } - get '/users/:username/following', to: redirect_with_vary('/@%{username}/following'), constraints: ->(req) { req.format.nil? || req.format.html? } - get '/users/:username/followers', to: redirect_with_vary('/@%{username}/followers'), constraints: ->(req) { req.format.nil? || req.format.html? } - get '/users/:username/statuses/:id', to: redirect_with_vary('/@%{username}/%{id}'), constraints: ->(req) { req.format.nil? || req.format.html? } - # rubocop:enable Style/FormatStringToken + with_options constraints: ->(req) { req.format.nil? || req.format.html? } do + get '/users/:username', to: redirect_with_vary('/@%{username}') + get '/users/:username/following', to: redirect_with_vary('/@%{username}/following') + get '/users/:username/followers', to: redirect_with_vary('/@%{username}/followers') + get '/users/:username/statuses/:id', to: redirect_with_vary('/@%{username}/%{id}') + end get '/authorize_follow', to: redirect { |_, request| "/authorize_interaction?#{request.params.to_query}" }