class Dry::Types::Maybe

def call(input = Undefined)

Returns:
  • (Dry::Monads::Maybe) -

Parameters:
  • input (Dry::Monads::Maybe, Object) --
def call(input = Undefined)
  case input
  when Dry::Monads::Maybe
    input
  when Undefined
    None()
  else
    Maybe(type[input])
  end
end

def default(value)

Raises:
  • (ArgumentError) - if nil provided as default value

Other tags:
    See: Dry::Types::Builder#default -

Parameters:
  • value (Object) --
def default(value)
  if value.nil?
    raise ArgumentError, "nil cannot be used as a default of a maybe type"
  else
    super
  end
end

def default?

Returns:
  • (true) -
def default?
  true
end

def try(input = Undefined)

Returns:
  • (Result::Success) -

Parameters:
  • input (Object) --
def try(input = Undefined)
  res = if input.equal?(Undefined)
          None()
        else
          Maybe(type[input])
        end
  Result::Success.new(res)
end