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