Sha256: cec1ebb8c29cecc833e80fdff1bf0721f1bf4fb58054c2c706f06e124a984600
Contents?: true
Size: 578 Bytes
Versions: 514
Compression:
Stored size: 578 Bytes
Contents
# frozen_string_literal: true # typed: true module T::Private::Types # Wraps a proc for a type alias to defer its evaluation. class TypeAlias < T::Types::Base def initialize(callable) @callable = callable end def aliased_type @aliased_type ||= T::Utils.coerce(@callable.call) end # overrides Base def name aliased_type.name end # overrides Base def recursively_valid?(obj) aliased_type.recursively_valid?(obj) end # overrides Base def valid?(obj) aliased_type.valid?(obj) end end end
Version data entries
514 entries across 508 versions & 3 rubygems