Files
nairobi/app/models/site_customization/content_block.rb
Javi Martín 722e50a669 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.
2024-06-05 16:10:56 +02:00

11 lines
471 B
Ruby

class SiteCustomization::ContentBlock < ApplicationRecord
VALID_BLOCKS = %w[top_links footer footer_legal subnavigation_left subnavigation_right].freeze
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 = I18n.locale)
find_by(name: name, locale: locale)&.body
end
end