module Dry::Types::Builder

def default(input = Undefined, &block)

Returns:
  • (Default) -

Raises:
  • (ConstraintError) -

Parameters:
  • block (#call, nil) --
  • input (Object) --
def default(input = Undefined, &block)
  value = input == Undefined ? block : input
  if value.is_a?(Proc) || valid?(value)
    Default[value].new(self, value)
  else
    raise ConstraintError.new("default value #{value.inspect} violates constraints", value)
  end
end