lib/rubocop/cop/sorbet/mixin/t_enum.rb
# frozen_string_literal: true module RuboCop module Cop module Sorbet # Mixing for writing cops that deal with `T::Enum`s module TEnum extend RuboCop::NodePattern::Macros def initialize(*) @scopes = [] super end # @!method t_enum?(node) def_node_matcher :t_enum?, <<~PATTERN (class (const...) (const (const nil? :T) :Enum) ...) PATTERN def on_class(node) @scopes.push(node) end def after_class(node) @scopes.pop end private def in_t_enum_class? t_enum?(@scopes&.last) end end end end end