Class: RuboCop::Cop::Gusto::PerformClassMethod
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Gusto::PerformClassMethod
- Defined in:
- lib/rubocop/cop/gusto/perform_class_method.rb
Overview
Checks for a defined ‘.perform` class method in Sidekiq workers. These are most likely intended to have been instance methods.
Constant Summary collapse
- MSG =
"Class-level `perform` method is being defined. Did you mean to use an instance method?"- WORKER_FALLBACK =
%w(Sidekiq::Worker).freeze
- WORKER_MODULES =
"WorkerModules"
Instance Method Summary collapse
- #on_def(node) ⇒ Object (also: #on_defs)
- #worker_module_include?(node) ⇒ Object
Instance Method Details
#on_def(node) ⇒ Object Also known as: on_defs
38 39 40 41 42 43 44 |
# File 'lib/rubocop/cop/gusto/perform_class_method.rb', line 38 def on_def(node) return unless node.method?(:perform) return unless (method_type = perform_class_method_type(node)) return unless is_sidekiq_worker?(node, method_type) add_offense(node) end |
#worker_module_include?(node) ⇒ Object
34 35 36 |
# File 'lib/rubocop/cop/gusto/perform_class_method.rb', line 34 def_node_matcher :worker_module_include?, <<~PATTERN (send nil? :include (const _ _)) PATTERN |