Module: Zx::Maybe::Maybeable

Defined in:
lib/zx/maybe.rb

Constant Summary collapse

None =
->(*kwargs) { ::Maybe::None.new(*kwargs) }
Some =
->(*kwargs) { ::Maybe::Some.new(*kwargs) }
Maybe =
->(*kwargs) { ::Maybe.of(*kwargs) }

Instance Method Summary collapse

Instance Method Details

#Maybe(*kwargs) ⇒ Object



9
10
11
# File 'lib/zx/maybe.rb', line 9

def Maybe(*kwargs)
  ::Maybe.of(*kwargs)
end

#None(*kwargs) ⇒ Object



17
18
19
# File 'lib/zx/maybe.rb', line 17

def None(*kwargs)
  ::Maybe::None.new(*kwargs)
end

#Some(*kwargs) ⇒ Object



13
14
15
# File 'lib/zx/maybe.rb', line 13

def Some(*kwargs)
  ::Maybe::Some.new(*kwargs)
end

#Try(default = nil, options = {}) ⇒ Object



21
22
23
24
25
# File 'lib/zx/maybe.rb', line 21

def Try(default = nil, options = {})
  Some yield
rescue StandardError => e
  None[default || options.fetch(:or, nil)]
end