class Tapioca::TypeTemplate
Attributes
fixed[R]
lower[R]
name[RW]
upper[R]
Public Class Methods
new(variance, fixed, lower, upper)
click to toggle source
Calls superclass method
# File lib/tapioca/sorbet_ext/generic_name_patch.rb, line 112 def initialize(variance, fixed, lower, upper) super(variance) @fixed = fixed @lower = lower @upper = upper end
Public Instance Methods
serialize()
click to toggle source
# File lib/tapioca/sorbet_ext/generic_name_patch.rb, line 120 def serialize parts = [] parts << ":#{@variance}" unless @variance == :invariant parts << "fixed: #{@fixed}" if @fixed parts << "lower: #{@lower}" unless @lower == T.untyped parts << "upper: #{@upper}" unless @upper == BasicObject parameters = parts.join(", ") serialized = +"type_template" serialized << "(#{parameters})" unless parameters.empty? serialized end