From f87d4b589dc3fb0b3f3e938b1db3f41d1a58520f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Thu, 20 Jul 2023 03:42:07 +0200 Subject: [PATCH] Add and apply Naming/BlockForwarding rubocop rule This syntax has been added in Ruby 3.1. Not using a variable name might not be very descriptive, but it's just as descriptive as using "block" as a variable name. Using just `&` we get the same amount of information than using `&block`: that we're passing a block. We're still using `&action` in `around_action` methods because here we aren't using a generic name for the variable, so (at least for now) we aren't running this cop on controllers using `around_action`. --- .rubocop.yml | 7 +++++++ app/controllers/stats_controller.rb | 4 ++-- app/graphql/types/base_object.rb | 6 +++--- app/helpers/globalize_helper.rb | 4 ++-- app/helpers/translatable_form_helper.rb | 12 ++++++------ app/mailers/mailer.rb | 4 ++-- app/models/budget/stats.rb | 4 ++-- app/models/poll/stats.rb | 4 ++-- app/models/tenant.rb | 4 ++-- .../microsoft/available_locales.rb | 4 ++-- spec/sessions_helper.rb | 4 ++-- 11 files changed, 32 insertions(+), 25 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 8e8b05794..db163bee7 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -319,6 +319,13 @@ Lint/UselessAssignment: Lint/Void: Enabled: true +Naming/BlockForwarding: + Enabled: true + Exclude: + - "app/controllers/application_controller.rb" + - "app/controllers/management/base_controller.rb" + - "app/controllers/subscriptions_controller.rb" + Naming/VariableName: Enabled: true diff --git a/app/controllers/stats_controller.rb b/app/controllers/stats_controller.rb index 53b19a05e..15cfd7bb8 100644 --- a/app/controllers/stats_controller.rb +++ b/app/controllers/stats_controller.rb @@ -23,7 +23,7 @@ class StatsController < ApplicationController private - def daily_cache(key, &block) - Rails.cache.fetch("public_stats/#{Time.current.strftime("%Y-%m-%d")}/#{key}", &block) + def daily_cache(key, &) + Rails.cache.fetch("public_stats/#{Time.current.strftime("%Y-%m-%d")}/#{key}", &) end end diff --git a/app/graphql/types/base_object.rb b/app/graphql/types/base_object.rb index a86f4ff40..96765f0c9 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, &block) - super(*args, **kwargs, &block) + def self.field(*args, **kwargs, &) + super(*args, **kwargs, &) # The old api contained non-camelized fields # We want to support these for now, but throw a deprecation warning @@ -14,7 +14,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, &block) + super(*args, **kwargs, &) end # Make sure associations only return public records diff --git a/app/helpers/globalize_helper.rb b/app/helpers/globalize_helper.rb index 6487c5c7b..b18762550 100644 --- a/app/helpers/globalize_helper.rb +++ b/app/helpers/globalize_helper.rb @@ -130,7 +130,7 @@ module GlobalizeHelper hidden_field_tag("enabled_translations[#{locale}]", (enabled ? 1 : 0)) end - def globalize(locale, &block) - Globalize.with_locale(locale, &block) + def globalize(locale, &) + Globalize.with_locale(locale, &) end end diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 1ca593e1d..388ec5a20 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -1,6 +1,6 @@ module TranslatableFormHelper - def translatable_form_for(record, options = {}, &block) - form_for(record, options.merge(builder: TranslatableFormBuilder), &block) + def translatable_form_for(record, options = {}, &) + form_for(record, options.merge(builder: TranslatableFormBuilder), &) end def translations_interface_enabled? @@ -18,13 +18,13 @@ module TranslatableFormHelper class TranslatableFormBuilder < ConsulFormBuilder attr_accessor :translations - def translatable_fields(&block) + def translatable_fields(&) @translations = {} visible_locales.map do |locale| @translations[locale] = translation_for(locale) end safe_join(visible_locales.map do |locale| - Globalize.with_locale(locale) { fields_for_locale(locale, &block) } + Globalize.with_locale(locale) { fields_for_locale(locale, &) } end) end @@ -46,8 +46,8 @@ module TranslatableFormHelper end end - def fields_for_translation(translation, &block) - fields_for(:translations, translation, builder: TranslationsFieldsBuilder, &block) + def fields_for_translation(translation, &) + fields_for(:translations, translation, builder: TranslationsFieldsBuilder, &) end def translation_for(locale) diff --git a/app/mailers/mailer.rb b/app/mailers/mailer.rb index 2ac040969..8398bbf6b 100644 --- a/app/mailers/mailer.rb +++ b/app/mailers/mailer.rb @@ -158,8 +158,8 @@ class Mailer < ApplicationMailer private - def with_user(user, &block) - I18n.with_locale(user.locale, &block) + def with_user(user, &) + I18n.with_locale(user.locale, &) end def prevent_delivery_to_users_without_email diff --git a/app/models/budget/stats.rb b/app/models/budget/stats.rb index 3837bb0f8..7db855aa9 100644 --- a/app/models/budget/stats.rb +++ b/app/models/budget/stats.rb @@ -180,7 +180,7 @@ class Budget::Stats stats_cache(*stats_methods) - def stats_cache(key, &block) - Rails.cache.fetch("budgets_stats/#{budget.id}/#{phases.join}/#{key}/#{version}", &block) + def stats_cache(key, &) + Rails.cache.fetch("budgets_stats/#{budget.id}/#{phases.join}/#{key}/#{version}", &) end end diff --git a/app/models/poll/stats.rb b/app/models/poll/stats.rb index 6b687e3a3..facb27b6d 100644 --- a/app/models/poll/stats.rb +++ b/app/models/poll/stats.rb @@ -117,7 +117,7 @@ class Poll::Stats stats_cache(*stats_methods) - def stats_cache(key, &block) - Rails.cache.fetch("polls_stats/#{poll.id}/#{key}/#{version}", &block) + def stats_cache(key, &) + Rails.cache.fetch("polls_stats/#{poll.id}/#{key}/#{version}", &) end end diff --git a/app/models/tenant.rb b/app/models/tenant.rb index 08757bb57..52803ed9c 100644 --- a/app/models/tenant.rb +++ b/app/models/tenant.rb @@ -139,9 +139,9 @@ class Tenant < ApplicationRecord Apartment::Tenant.switch(...) end - def self.run_on_each(&block) + def self.run_on_each(&) ["public"].union(Apartment.tenant_names).each do |schema| - switch(schema, &block) + switch(schema, &) end end diff --git a/lib/remote_translations/microsoft/available_locales.rb b/lib/remote_translations/microsoft/available_locales.rb index 6ddcc8f7a..755af8dbc 100644 --- a/lib/remote_translations/microsoft/available_locales.rb +++ b/lib/remote_translations/microsoft/available_locales.rb @@ -50,7 +50,7 @@ class RemoteTranslations::Microsoft::AvailableLocales JSON.parse(result)["translation"].map(&:first) end - def self.daily_cache(key, &block) - Rails.cache.fetch("remote_available_locales/#{Time.current.strftime("%Y-%m-%d")}/#{key}", &block) + def self.daily_cache(key, &) + Rails.cache.fetch("remote_available_locales/#{Time.current.strftime("%Y-%m-%d")}/#{key}", &) end end diff --git a/spec/sessions_helper.rb b/spec/sessions_helper.rb index 13c9504d0..062b51693 100644 --- a/spec/sessions_helper.rb +++ b/spec/sessions_helper.rb @@ -1,3 +1,3 @@ -def in_browser(name, &block) - Capybara.using_session(name, &block) +def in_browser(name, &) + Capybara.using_session(name, &) end