Sha256: 18f0cd31e4978da7cef7c0911353941e47cc074edea6ac856d67c663ef8bc34a
Contents?: true
Size: 551 Bytes
Versions: 7
Compression:
Stored size: 551 Bytes
Contents
module Test module TypeCheck class NullError < StandardError; end def Type?(value, *types) types.any? { |t| value.is_a? t } end def Type!(value, *types) Type?(value, *types) or raise TypeError, "Value (#{value.class}) '#{value}' is not any of: #{types.join('; ')}." value end def NotNull!(value) raise NullError, "Value must not be nil" unless value end def Argument!(expression, message = "Illegal argument") raise ArgumentError, message unless expression end end end
Version data entries
7 entries across 7 versions & 1 rubygems