Module: TypedCache::Maybe

Includes:
Kernel
Defined in:
lib/typed_cache/maybe.rb

Overview

@rbs!

type maybe[T] = (Nothing | Some[T]) & _Maybe[T]

Class Method Summary collapse

Class Method Details

.noneObject

: -> maybe



14
# File 'lib/typed_cache/maybe.rb', line 14

def none = Nothing.new

.some(value) ⇒ Object Also known as: []

: [V](V) -> maybe



12
13
# File 'lib/typed_cache/maybe.rb', line 12

def some(value) = Some.new(value)
#: -> maybe[bot]

.wrap(value) ⇒ Object

: [V](V? | maybe) -> maybe



17
18
19
20
21
22
23
24
# File 'lib/typed_cache/maybe.rb', line 17

def wrap(value)
  case value
  when Nothing, Some then value
  when NilClass then Nothing.new
  else
    Some.new(value)
  end
end