From 16315e14d2c84ab12fa1b89150efdbcbaaeb0597 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Tue, 2 Jul 2024 18:22:38 +0200 Subject: [PATCH] Add and apply Style/SuperArguments rubocop rule This rule was added in rubocop 1.64.0. For clarity, in order to make it obvious that we're modifying the object we received, we're excluding the Ahoy initializer, whose code was copied from the Ahoy documentation. We're also changing the `Types::BaseObject` class so we don't use a variable with the same name as the parameter and we don't get a false positive for this rule. --- .rubocop.yml | 5 +++++ app/controllers/users/omniauth_callbacks_controller.rb | 2 +- app/graphql/types/base_object.rb | 5 ++--- app/lib/acts_as_paranoid_aliases.rb | 2 +- app/mailers/devise_mailer.rb | 4 +--- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index a5bf87e2f..01608ab60 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -796,6 +796,11 @@ Style/StringLiterals: Style/StringLiteralsInInterpolation: EnforcedStyle: double_quotes +Style/SuperArguments: + Enabled: true + Exclude: + - "config/initializers/ahoy.rb" + Style/SymbolProc: Enabled: true AllowedMethods: diff --git a/app/controllers/users/omniauth_callbacks_controller.rb b/app/controllers/users/omniauth_callbacks_controller.rb index 02186e9e9..9f8116759 100644 --- a/app/controllers/users/omniauth_callbacks_controller.rb +++ b/app/controllers/users/omniauth_callbacks_controller.rb @@ -19,7 +19,7 @@ class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController if resource.registering_with_oauth finish_signup_path else - super(resource) + super end end diff --git a/app/graphql/types/base_object.rb b/app/graphql/types/base_object.rb index 96765f0c9..d98173b6a 100644 --- a/app/graphql/types/base_object.rb +++ b/app/graphql/types/base_object.rb @@ -1,7 +1,7 @@ module Types class BaseObject < GraphQL::Schema::Object def self.field(*args, **kwargs, &) - super(*args, **kwargs, &) + super # The old api contained non-camelized fields # We want to support these for now, but throw a deprecation warning @@ -13,8 +13,7 @@ module Types if field_name.to_s.include?("_") reason = "Snake case fields are deprecated. Please use #{field_name.to_s.camelize(:lower)}." - kwargs = kwargs.merge({ camelize: false, deprecation_reason: reason }) - super(*args, **kwargs, &) + super(*args, **kwargs.merge({ camelize: false, deprecation_reason: reason }), &) end # Make sure associations only return public records diff --git a/app/lib/acts_as_paranoid_aliases.rb b/app/lib/acts_as_paranoid_aliases.rb index 369bdc6c9..76afbbdf0 100644 --- a/app/lib/acts_as_paranoid_aliases.rb +++ b/app/lib/acts_as_paranoid_aliases.rb @@ -27,7 +27,7 @@ module ActsAsParanoidAliases def restore(opts = {}) return false unless hidden? - super(opts) + super update_attribute(:confirmed_hide_at, nil) if self.class.column_names.include? "confirmed_hide_at" after_restore end diff --git a/app/mailers/devise_mailer.rb b/app/mailers/devise_mailer.rb index a3f3ed271..738dcc9c0 100644 --- a/app/mailers/devise_mailer.rb +++ b/app/mailers/devise_mailer.rb @@ -5,8 +5,6 @@ class DeviseMailer < Devise::Mailer protected def devise_mail(record, action, opts = {}) - I18n.with_locale record.locale do - super(record, action, opts) - end + I18n.with_locale(record.locale) { super } end end