class Parlour::Types::Generic
A user-defined generic class with an arbitrary number of type parameters. This class assumes at least one type_param is provided, otherwise output will have empty type param lists.
Attributes
type[R]
type_params[R]
Public Class Methods
new(type, type_params)
click to toggle source
# File lib/parlour/types.rb, line 204 def initialize(type, type_params) @type = to_type(type) @type_params = type_params.map { |p| to_type(p) } end
Public Instance Methods
==(other)
click to toggle source
# File lib/parlour/types.rb, line 210 def ==(other) self.class === other && type == other.type && type_params == other.type_params end
describe()
click to toggle source
# File lib/parlour/types.rb, line 233 def describe "#{type.describe}<#{type_params.map(&:describe).join(', ')}>" end
generate_rbi()
click to toggle source
# File lib/parlour/types.rb, line 223 def generate_rbi "#{type.generate_rbi}[#{type_params.map(&:generate_rbi).join(', ')}]" end
generate_rbs()
click to toggle source
# File lib/parlour/types.rb, line 228 def generate_rbs "#{type.generate_rbs}[#{type_params.map(&:generate_rbs).join(', ')}]" end