Class: RuboCop::Cop::Rails::I18nLocaleAssignment
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Rails::I18nLocaleAssignment
- Defined in:
- lib/rubocop/cop/rails/i18n_locale_assignment.rb
Overview
Checks for the use of ‘I18n.locale=` method.
The ‘locale` attribute persists for the rest of the Ruby runtime, potentially causing unexpected behavior at a later time. Using `I18n.with_locale` ensures the code passed in the block is the only place `I18n.locale` is affected. It eliminates the possibility of a `locale` sticking around longer than intended.
Constant Summary collapse
- MSG =
'Use `I18n.with_locale` with block instead of `I18n.locale=`.'
- RESTRICT_ON_SEND =
%i[locale=].freeze
Instance Method Summary collapse
Instance Method Details
#on_send(node) ⇒ Object
29 30 31 32 33 |
# File 'lib/rubocop/cop/rails/i18n_locale_assignment.rb', line 29 def on_send(node) return unless i18n_locale_assignment?(node) add_offense(node) end |