module Dry::Monads::Maybe::Mixin::Constructors

@private

Public Instance Methods

Maybe(value) click to toggle source

@param value [Object] the value to be stored in the monad @return [Maybe::Some, Maybe::None]

# File lib/dry/monads/maybe.rb, line 305
def Maybe(value)
  Maybe.coerce(value)
end
None() click to toggle source

@return [Maybe::None]

# File lib/dry/monads/maybe.rb, line 325
def None
  None.new(RightBiased::Left.trace_caller)
end
Some(value = Undefined, &block) click to toggle source

Some constructor

@overload Some(value)

@param value [Object] any value except `nil`
@return [Maybe::Some]

@overload Some(&block)

@param block [Proc] a block to be wrapped with Some
@return [Maybe::Some]
# File lib/dry/monads/maybe.rb, line 319
def Some(value = Undefined, &block)
  v = Undefined.default(value, block || Unit)
  Some.new(v)
end