Sha256: 1197d2bbb3249ee7eff958bbf504a2df1417e5e417df6cc65b85d1ea6ae81aa9
Contents?: true
Size: 808 Bytes
Versions: 514
Compression:
Stored size: 808 Bytes
Contents
# frozen_string_literal: true # typed: true module T::Types # Validates that an object is equal to another T::Enum singleton value. class TEnum < Base attr_reader :val def initialize(val) @val = val end # overrides Base def name # Strips the #<...> off, just leaving the ... # Reasoning: the user will have written something like # T.any(MyEnum::A, MyEnum::B) # in the type, so we should print what they wrote in errors, not: # T.any(#<MyEnum::A>, #<MyEnum::B>) @val.inspect[2..-2] end # overrides Base def valid?(obj) @val == obj end # overrides Base private def subtype_of_single?(other) case other when TEnum @val == other.val else false end end end end
Version data entries
514 entries across 508 versions & 3 rubygems