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