Class: RuboCop::Cop::I18n::GetText::DecorateString

Inherits:
Base
  • Object
show all
Extended by:
AutoCorrector
Defined in:
lib/rubocop/cop/i18n/gettext/decorate_string.rb

Overview

Looks for strings that appear to be sentences but are not decorated. Sentences are determined by the STRING_REGEXP. (Upper case character, at least one space, and sentence punctuation at the end)

Examples:


# bad

"Result is bad."

# good

_("Result is good.")

Constant Summary collapse

STRING_REGEXP =
/^\s*[[:upper:]][[:alpha:]]*[[:blank:]]+.*[.!?]$/.freeze

Instance Method Summary collapse

Instance Method Details

#on_dstr(node) ⇒ Object



27
28
29
# File 'lib/rubocop/cop/i18n/gettext/decorate_string.rb', line 27

def on_dstr(node)
  check_for_parent_decorator(node) if dstr_contains_sentence?(node)
end

#on_str(node) ⇒ Object



31
32
33
34
35
36
37
38
39
40
# File 'lib/rubocop/cop/i18n/gettext/decorate_string.rb', line 31

def on_str(node)
  return unless sentence?(node)

  parent = node.parent
  if parent.respond_to?(:type)
    return if parent.type?(:regexp, :dstr)
  end

  check_for_parent_decorator(node)
end