lib/rubocop/cop/sorbet/forbid_t_enum.rb
# frozen_string_literal: true require "rubocop" module RuboCop module Cop module Sorbet # Disallow using `T::Enum`. # # @example # # # bad # class MyEnum < T::Enum # enums do # A = new # B = new # end # end # # # good # class MyEnum # A = "a" # B = "b" # C = "c" # end class ForbidTEnum < RuboCop::Cop::Base MSG = "Using `T::Enum` is deprecated in this codebase." # @!method t_enum?(node) def_node_matcher(:t_enum?, <<~PATTERN) (const (const {nil? cbase} :T) :Enum) PATTERN def on_class(node) add_offense(node) if t_enum?(node.parent_class) end end end end end