1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
# 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"
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
|