Files
gitlab-foss/rubocop/cop/database/avoid_inheritance_column.rb
2025-06-16 06:13:56 +00:00

22 lines
742 B
Ruby

# frozen_string_literal: true
module RuboCop
module Cop
module Database
# Checks for `self.inheritance_column` usage, which is discouraged https://docs.gitlab.com/ee/development/database/single_table_inheritance.html
class AvoidInheritanceColumn < RuboCop::Cop::Base
MSG = "Do not use Single Table Inheritance https://docs.gitlab.com/ee/development/database/single_table_inheritance.html"
# @!method inheritance_column_used?(node)
def_node_search :inheritance_column_used?, <<~PATTERN
(send (self) :inheritance_column= !(sym :_type_disabled))
PATTERN
def on_send(node)
add_offense(node) if inheritance_column_used?(node)
end
end
end
end
end