module Dry::Types::BuilderMethods
def Array(type)
-
(Dry::Types::Array)
-
Parameters:
-
type
(Dry::Types::Type
) --
def Array(type) self::Array.of(type) end
def Constant(object)
- Api: - public
Returns:
-
(Dry::Types::Type)
-
Parameters:
-
object
(Object
) --
def Constant(object) Definition.new(object.class).constrained(is: object) end
def Constructor(klass, cons = nil, &block)
- Api: - public
Returns:
-
(Dry::Types::Type)
-
Parameters:
-
block
(#call, nil
) -- Value constructor -
cons
(#call, nil
) -- Value constructor -
klass
(Class
) --
def Constructor(klass, cons = nil, &block) Definition.new(klass).constructor(cons || block || klass.method(:new)) end
def Definition(klass)
- Api: - public
Returns:
-
(Dry::Types::Type)
-
Parameters:
-
klass
(Class
) --
def Definition(klass) Definition.new(klass) end
def Hash(schema, type_map)
- Api: - public
Returns:
-
(Dry::Types::Array)
-
Parameters:
-
type_map
(Hash{Symbol => Dry::Types::Type}
) -- -
schema
(Symbol
) -- Schema type
def Hash(schema, type_map) self::Hash.public_send(schema, type_map) end
def Instance(klass)
- Api: - public
Returns:
-
(Dry::Types::Type)
-
Parameters:
-
klass
(Class, Module
) -- Class or module
def Instance(klass) Definition.new(klass).constrained(type: klass) end
def Map(key_type, value_type)
- Api: - public
Returns:
-
(Dry::Types::Map)
-
Parameters:
-
value_type
(Type
) -- Value type -
key_type
(Type
) -- Key type
def Map(key_type, value_type) Types['hash'].map(key_type, value_type) end
def Value(value)
- Api: - public
Returns:
-
(Dry::Types::Type)
-
Parameters:
-
value
(Object
) --
def Value(value) Definition.new(value.class).constrained(eql: value) end
def included(base)
- Api: - private
def included(base) super base.extend(BuilderMethods) end