Class: T::UnionType

Inherits:
AnyType show all
Defined in:
lib/emery/type.rb

Instance Attribute Summary collapse

Attributes inherited from AnyType

#types

Instance Method Summary collapse

Methods inherited from AnyType

#==, #check

Constructor Details

#initialize(cases) ⇒ UnionType

Returns a new instance of UnionType.



56
57
58
59
# File 'lib/emery/type.rb', line 56

def initialize(cases)
  @cases = cases
  super(*cases.values)
end

Instance Attribute Details

#casesObject (readonly)

Returns the value of attribute cases.



55
56
57
# File 'lib/emery/type.rb', line 55

def cases
  @cases
end

Instance Method Details

#to_sObject



60
61
62
# File 'lib/emery/type.rb', line 60

def to_s
  "Union[#{cases.map { |k, t| "#{k}: #{t}"}.join(', ')}]"
end