Class: I18n::Hygiene::Checks::HtmlEntity

Inherits:
Base
  • Object
show all
Defined in:
lib/i18n/hygiene/checks/html_entity.rb

Overview

Looks for unexpected HTML entities (‘&`, `!`) in translations.

Constant Summary collapse

ENTITY_REGEX =
/&\w+;/

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from I18n::Hygiene::Checks::Base

Instance Method Details

#runObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/i18n/hygiene/checks/html_entity.rb', line 15

def run
  wrapper = I18n::Hygiene::Wrapper.new(locales: all_locales, exclude_scopes: config.exclude_scopes)

  keys_with_entities = I18n::Hygiene::KeysWithMatchedValue.new(ENTITY_REGEX, wrapper, reject_keys: reject_keys)

  keys_with_entities.each do |locale, key|
    message = ErrorMessageBuilder.new
      .title("Unexpected HTML entity")
      .locale(locale)
      .key(key)
      .translation(wrapper.value(locale, key))
      .create

    yield Result.new(:failure, message: message)
  end
end