Sha256: 7792562cd6191a2299ec724f92b28711ffc1a10d9e62110730e1d579e2c311cd
Contents?: true
Size: 846 Bytes
Versions: 166
Compression:
Stored size: 846 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 def build_type nil 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
166 entries across 166 versions & 1 rubygems