Module: Dry::Monads::Maybe::Mixin::Constructors

Included in:
Dry::Monads::Maybe::Mixin
Defined in:
lib/dry/monads/maybe.rb

Instance Method Summary collapse

Instance Method Details

#Maybe(value) ⇒ Maybe::Some, Maybe::None

Parameters:

  • value (Object)

    the value to be stored in the monad

Returns:



169
170
171
# File 'lib/dry/monads/maybe.rb', line 169

def Maybe(value)
  Maybe.lift(value)
end

#NoneMaybe::None

Returns:



185
186
187
# File 'lib/dry/monads/maybe.rb', line 185

def None
  None.instance
end

#Some(value = Dry::Core::Constants::Undefined, &block) ⇒ Maybe::Some

Parameters:

  • value (Object) (defaults to: Dry::Core::Constants::Undefined)

    the value to be stored in the monad

Returns:



175
176
177
178
179
180
181
182
# File 'lib/dry/monads/maybe.rb', line 175

def Some(value = Dry::Core::Constants::Undefined, &block)
  if value.equal?(Dry::Core::Constants::Undefined)
    raise ArgumentError, 'No value given' if block.nil?
    Some.new(block)
  else
    Some.new(value)
  end
end