Class: RuboCop::Cop::Rails::ApplicationRecord

Inherits:
Base
  • Object
show all
Extended by:
AutoCorrector, TargetRailsVersion
Includes:
EnforceSuperclass
Defined in:
lib/rubocop/cop/rails/application_record.rb

Overview

Checks that models subclass ApplicationRecord with Rails 5.0.

Examples:


# good
class Rails5Model < ApplicationRecord
  # ...
end

# bad
class Rails4Model < ActiveRecord::Base
  # ...
end

Cop Safety Information:

  • This cop's autocorrection is unsafe because it may let the logic from ApplicationRecord sneak into an Active Record model that is not purposed to inherit logic common among other Active Record models.

Constant Summary collapse

MSG =
'Models should subclass `ApplicationRecord`.'
SUPERCLASS =
'ApplicationRecord'
BASE_PATTERN =
'(const (const {nil? cbase} :ActiveRecord) :Base)'

Constants included from TargetRailsVersion

TargetRailsVersion::USES_REQUIRES_GEM_API

Method Summary

Methods included from TargetRailsVersion

minimum_target_rails_version, support_target_rails_version?

Methods included from EnforceSuperclass

included, #on_class, #on_send