module T::Types::Simple::GenericNamePatch

This module intercepts calls to the `name` method for simple types, so that it can ask the name to the type if the type is generic, since, by this point, we've created a clone of that type with the `name` method returning the appropriate name for that specific concrete type.

Public Instance Methods

name() click to toggle source
Calls superclass method
# File lib/tapioca/sorbet_ext/generic_name_patch.rb, line 51
def name
  if T::Generic === @raw_type
    # for types that are generic, use the name
    # returned by the "name" method of this instance
    @name ||= T.unsafe(@raw_type).name.freeze
  else
    # otherwise, fallback to the normal name lookup
    super
  end
end