Sha256: 166a4a5c6f33362a3c104ed49f22d025fb0e30e1c71d150c0975a1010ee0432e
Contents?: true
Size: 538 Bytes
Versions: 32
Compression:
Stored size: 538 Bytes
Contents
# frozen_string_literal: true class Code class Type def name raise NotImplementedError, "#{self.class}#name" end def valid?(argument) raise NotImplementedError, "#{self.class}#valid?" end def valid_for?(expected:, actual:) expected.is_a?(Type) ? expected.valid?(actual) : actual.is_a?(expected) end def min_arguments_of(clazz) clazz.is_a?(Type) ? clazz.min_arguments : 1 end def max_arguments_of(clazz) clazz.is_a?(Type) ? clazz.max_arguments : 1 end end end
Version data entries
32 entries across 32 versions & 1 rubygems