Module: ActiveSupport::HtmlSafeTranslation

Extended by:
HtmlSafeTranslation
Included in:
HtmlSafeTranslation
Defined in:
lib/active_support/html_safe_translation.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#html_safe_translation_key?(key) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/active_support/html_safe_translation.rb', line 30

def html_safe_translation_key?(key)
  /(?:_|\b)html\z/.match?(key)
end

#translate(key, **options) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/active_support/html_safe_translation.rb', line 7

def translate(key, **options)
  if html_safe_translation_key?(key)
    html_safe_options = html_escape_translation_options(options)

    exception = false

    exception_handler = ->(*args) do
      exception = true
      I18n.exception_handler.call(*args)
    end

    translation = I18n.translate(key, **html_safe_options, exception_handler: exception_handler)

    if exception
      translation
    else
      html_safe_translation(translation)
    end
  else
    I18n.translate(key, **options)
  end
end