From 722e50a66998b29ea39c9a8b6846bc7e4fa1432e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Thu, 23 May 2024 22:28:41 +0200 Subject: [PATCH] Simplify code to find a content block We're only calling the `block_for` method from one place: the `content_block` helper, and we're never passing the locale parameter to that helper, which means we're always calling `block_for` using `I18n.locale`. So I'm not sure why we were doing the `locale ||=` assignment, since `I18n.locale` doesn't return nil. In any case, since this was added in commit c1de2dced, Ruby has added support for arguments forwarding, so we can use it here to simplify the code a little bit. --- app/helpers/application_helper.rb | 4 ++-- app/models/site_customization/content_block.rb | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index eeaf6a7ff..801bb8e16 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -46,8 +46,8 @@ module ApplicationHelper end end - def content_block(name, locale = I18n.locale) - SiteCustomization::ContentBlock.block_for(name, locale) + def content_block(...) + SiteCustomization::ContentBlock.block_for(...) end def self.asset_data_base64(path) diff --git a/app/models/site_customization/content_block.rb b/app/models/site_customization/content_block.rb index a7e95d0ab..6009505b7 100644 --- a/app/models/site_customization/content_block.rb +++ b/app/models/site_customization/content_block.rb @@ -4,8 +4,7 @@ class SiteCustomization::ContentBlock < ApplicationRecord validates :locale, presence: true, inclusion: { in: ->(*) { Setting.enabled_locales.map(&:to_s) }} validates :name, presence: true, uniqueness: { scope: :locale }, inclusion: { in: ->(*) { VALID_BLOCKS }} - def self.block_for(name, locale) - locale ||= I18n.default_locale + def self.block_for(name, locale = I18n.locale) find_by(name: name, locale: locale)&.body end end