Module: Brut::I18n::ForHTML
- Includes:
- BaseMethods
- Included in:
- FrontEnd::Component, FrontEnd::Components::TimeTag
- Defined in:
- lib/brut/i18n/for_html.rb
Overview
I18n for components or pages, which are assumed to be Phlex components. This will do HTML escaping as follows:
-
Interpolated values are always HTML-escaped
-
When a block is used, that value is assumed to be safe HTML, and generated outside the current Phlex context. It’s value is captured (via ‘#capture`) and then declared HTML safe by being passed to `#safe`.
Unless you put HTML injections into your translations file, this should result in safe HTML in any translation.
This module provides two features that aren’t part of BaseMethods:
-
#t calls ‘#safe` on its return value, indicating that the string is safe. To use this string in a Phlex view, you must call `#raw` and pass it the string.
-
#html_escape is implemented to escape values it’s given.
Instance Method Summary collapse
Methods included from BaseMethods
#l, #t_direct, #this_field_value
Instance Method Details
#html_escape(value) ⇒ Object
39 |
# File 'lib/brut/i18n/for_html.rb', line 39 def html_escape(value) = CGI.escapeHTML(value) |
#t ⇒ Object
36 37 38 |
# File 'lib/brut/i18n/for_html.rb', line 36 def t(...) safe(super) end |