Class: RuboCop::Cop::Legion::Extension::EveryActorRequiresTime
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Legion::Extension::EveryActorRequiresTime
- Defined in:
- lib/rubocop/cop/legion/extension/every_actor_requires_time.rb
Overview
Detects actor classes that inherit from ‘Every` or `Poll` but do not call the `time` DSL method. Without `time`, the framework has no interval and the actor will not schedule correctly.
Constant Summary collapse
- MSG =
'Every/Poll actors must call the `time` DSL method to set the interval.'- INTERVAL_BASES =
%i[Every Poll].to_set.freeze
Instance Method Summary collapse
Instance Method Details
#on_class(node) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/rubocop/cop/legion/extension/every_actor_requires_time.rb', line 29 def on_class(node) return unless inside_actor_namespace?(node) superclass = node.parent_class return unless superclass && interval_base?(superclass) return if calls_time?(node) add_offense(node.identifier) end |