Class: RuboCop::Cop::I18n::RailsI18n::DecorateString
- Inherits:
-
RuboCop::Cop
- Object
- RuboCop::Cop
- RuboCop::Cop::I18n::RailsI18n::DecorateString
- Defined in:
- lib/rubocop/cop/i18n/rails_i18n/decorate_string.rb
Overview
This cop is looks for strings that appear to be sentences but are not decorated. Sentences are determined by the SENTENCE_REGEXP. (Upper case character, at least one space, and sentence punctuation at the end)
There are several options for configuration.
Constant Summary collapse
- SENTENCE_REGEXP =
/^\s*[[:upper:]][[:alpha:]]*[[:blank:]]+.*[.!?]$/.freeze
- FRAGMENTED_SENTENCE_REGEXP =
/^\s*([[:upper:]][[:alpha:]]*[[:blank:]]+.*)|([[:alpha:]]*[[:blank:]]+.*[.!?])$/.freeze
- FRAGMENT_REGEXP =
/^\s*[[:alpha:]]*[[:blank:]]+.*$/.freeze
- SUPPORTED_DECORATORS =
%w[ t t! translate translate! ].freeze
Instance Method Summary collapse
Instance Method Details
#on_dstr(node) ⇒ Object
84 85 86 |
# File 'lib/rubocop/cop/i18n/rails_i18n/decorate_string.rb', line 84 def on_dstr(node) check_for_parent_decorator(node) if dstr_contains_sentence?(node) end |
#on_str(node) ⇒ Object
88 89 90 91 92 93 94 95 96 97 |
# File 'lib/rubocop/cop/i18n/rails_i18n/decorate_string.rb', line 88 def on_str(node) return unless sentence?(node) parent = node.parent if parent.respond_to?(:type) return if parent.regexp_type? || parent.dstr_type? end check_for_parent_decorator(node) end |