module ActiveSupport::HtmlSafeTranslation
Experimental RBS support (using type sampling data from the type_fusion
project).
# sig/active_support/html_safe_translation.rbs module ActiveSupport::HtmlSafeTranslation def html_safe_translation_key?: (String key) -> untyped def translate: (String key, **Hash options) -> (String | ActiveSupport::SafeBuffer) end
def html_escape_translation_options(options)
def html_escape_translation_options(options) options.each do |name, value| unless i18n_option?(name) || (name == :count && value.is_a?(Numeric)) options[name] = ERB::Util.html_escape(value.to_s) end end end
def html_safe_translation(translation)
def html_safe_translation(translation) if translation.respond_to?(:map) translation.map { |element| element.respond_to?(:html_safe) ? element.html_safe : element } else translation.respond_to?(:html_safe) ? translation.html_safe : translation end end
def html_safe_translation_key?(key)
Experimental RBS support (using type sampling data from the type_fusion
project).
def html_safe_translation_key?: (String key) -> untyped
This signature was generated using 1 sample from 1 application.
def html_safe_translation_key?(key) /(?:_|\b)html\z/.match?(key) end
def i18n_option?(name)
def i18n_option?(name) (@i18n_option_names ||= I18n::RESERVED_KEYS.to_set).include?(name) end
def translate(key, **options)
Experimental RBS support (using type sampling data from the type_fusion
project).
def translate: (String key, **(raise | TrueClass | default | | android | ActiveSupport::SafeBuffer | ios | ActiveSupport::SafeBuffer | raise | TrueClass | default | ) options) -> (String | ActiveSupport::SafeBuffer)
This signature was generated using 2 samples from 1 application.
def translate(key, **options) if html_safe_translation_key?(key) html_safe_options = html_escape_translation_options(options) translation = I18n.translate(key, **html_safe_options) html_safe_translation(translation) else I18n.translate(key, **options) end end