Class: RuboCop::Cop::Sidekiq::JobInclude
- Extended by:
- AutoCorrector
- Defined in:
- lib/rubocop/cop/sidekiq/job_include.rb
Overview
Checks that Sidekiq jobs include the preferred module.
Sidekiq::Worker was renamed to Sidekiq::Job in Sidekiq 6.3. Sidekiq::Job is the preferred module name.
Constant Summary collapse
- MSG =
'Use `Sidekiq::%<preferred>s` instead of `Sidekiq::%<deprecated>s`.'- MODULES =
%w[Job Worker].freeze
Instance Method Summary collapse
- #on_send(node) ⇒ Object (also: #on_csend)
- #sidekiq_include(node) ⇒ Object
Methods included from Sidekiq::Language
#active_job_class?, #perform_call?, #sidekiq_include?, #sidekiq_options_call?
Instance Method Details
#on_send(node) ⇒ Object Also known as: on_csend
45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/rubocop/cop/sidekiq/job_include.rb', line 45 def on_send(node) sidekiq_include(node) do |module_name| return if module_name.to_s == preferred_module deprecated = module_name.to_s = format(MSG, preferred: preferred_module, deprecated: deprecated) add_offense(node, message: ) do |corrector| corrector.replace(node, "include Sidekiq::#{preferred_module}") end end end |
#sidekiq_include(node) ⇒ Object
41 42 43 |
# File 'lib/rubocop/cop/sidekiq/job_include.rb', line 41 def_node_matcher :sidekiq_include, <<~PATTERN (send nil? :include (const (const {nil? cbase} :Sidekiq) ${:Job :Worker})) PATTERN |