class Dhallish::Types::Record

Attributes

types[RW]

Hash: keyname -> type

Public Class Methods

new(types) click to toggle source
# File lib/types.rb, line 56
def initialize(types)
        @types = types
end

Public Instance Methods

==(otype) click to toggle source
# File lib/types.rb, line 60
def ==(otype)
        if !otype.is_a? Record or @types.size != otype.types.size
                return false
        end

        @types.keys.reduce(true) { |isequal, key|
                if !isequal or !(otype.types.key? key)
                        false
                else
                        otype.types[key] == @types[key]
                end
        }
end
to_s() click to toggle source
# File lib/types.rb, line 74
def to_s()
        "{ #{@types.keys.map { |key|
                "#{key}: #{@types[key].to_s}"
        }.join(", ")} }"
end