mirror of
https://gitlab.com/gitlab-org/gitlab-foss.git
synced 2025-08-13 13:31:19 +00:00
22 lines
742 B
Ruby
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
|