Sha256: fdabe9d9682d9d9b4c67e470b431082f07c4847fc503eded7595a407b9dfaba9
Contents?: true
Size: 1.17 KB
Versions: 31
Compression:
Stored size: 1.17 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module Rails # Checks that jobs subclass `ApplicationJob` with Rails 5.0. # # @safety # This cop's autocorrection is unsafe because it may let the logic from `ApplicationJob` # sneak into a job that is not purposed to inherit logic common among other jobs. # # @example # # # good # class Rails5Job < ApplicationJob # # ... # end # # # bad # class Rails4Job < ActiveJob::Base # # ... # end class ApplicationJob < Base extend AutoCorrector extend TargetRailsVersion minimum_target_rails_version 5.0 MSG = 'Jobs should subclass `ApplicationJob`.' SUPERCLASS = 'ApplicationJob' BASE_PATTERN = '(const (const {nil? cbase} :ActiveJob) :Base)' # rubocop:disable Layout/ClassStructure include RuboCop::Cop::EnforceSuperclass # rubocop:enable Layout/ClassStructure def autocorrect(node) lambda do |corrector| corrector.replace(node, self.class::SUPERCLASS) end end end end end end
Version data entries
31 entries across 30 versions & 6 rubygems