Class: RuboCop::Cop::Sidekiq::JobFileLocation
- Includes:
- ProcessedSourcePath
- Defined in:
- lib/rubocop/cop/sidekiq/job_file_location.rb
Overview
Checks that Sidekiq job classes are located in allowed directories.
Constant Summary collapse
- MSG =
'Place Sidekiq job classes under %<dirs>s.'- DEFAULT_DIRECTORIES =
['app/jobs', 'app/workers'].freeze
Instance Method Summary collapse
Methods included from Sidekiq::Language
#active_job_class?, #perform_call?, #sidekiq_include?, #sidekiq_options_call?
Instance Method Details
#on_class(node) ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/rubocop/cop/sidekiq/job_file_location.rb', line 26 def on_class(node) return unless sidekiq_job_class?(node) file_path = processed_file_path return unless file_path return if in_allowed_directory?(file_path) add_offense(node.loc.keyword, message: format(MSG, dirs: allowed_directories.join(' or '))) end |