Class: RuboCop::Cop::I18n::GetText::DecorateStringFormattingUsingInterpolation
- Inherits:
-
RuboCop::Cop
- Object
- RuboCop::Cop
- RuboCop::Cop::I18n::GetText::DecorateStringFormattingUsingInterpolation
- Defined in:
- lib/rubocop/cop/i18n/gettext/decorate_string_formatting_using_interpolation.rb
Overview
When using an decorated string to support I18N, any strings inside the decoration should not contain the ‘#{}’ interpolation string as this makes it hard to translate the strings.
Check GetText.supported_decorators for a list of decorators that can be used.
Instance Method Summary collapse
Instance Method Details
#on_send(node) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/rubocop/cop/i18n/gettext/decorate_string_formatting_using_interpolation.rb', line 26 def on_send(node) decorator_name = node.loc.selector.source return unless GetText.supported_decorator?(decorator_name) method_name = node.method_name arg_nodes = node.arguments return unless !arg_nodes.empty? && contains_string_formatting_with_interpolation?(arg_nodes) = arg_nodes[0] add_offense(, message: "'#{method_name}' function, message string should not contain \#{} formatting") end |