Module: Mona

Defined in:
lib/mona.rb,
lib/mona/ok.rb,
lib/mona/err.rb,
lib/mona/result.rb,
lib/mona/dict_result.rb,
lib/mona/result_match.rb,
lib/mona/result_action.rb,
lib/mona/dict_result/ok.rb,
lib/mona/no_match_error.rb,
lib/mona/dict_result/err.rb,
lib/mona/dict_result/sequence.rb

Overview

Mona top level module contains utility methods

Defined Under Namespace

Modules: DictResult, Result, ResultAction Classes: Err, Error, NoMatchError, OK, ResultMatch

Class Method Summary collapse

Class Method Details

.dict_result(initial = {}) ⇒ Object



24
# File 'lib/mona.rb', line 24

def dict_result(initial = {}, &) = DictResult[initial, &]

.err(failure, reason = nil, **meta) ⇒ Object



22
# File 'lib/mona.rb', line 22

def err(failure, reason = nil, **meta) = Err[failure, reason, **meta]

.ok(value) ⇒ Object



20
# File 'lib/mona.rb', line 20

def ok(value) = OK[value]

.on_ok(result) ⇒ Object



28
# File 'lib/mona.rb', line 28

def on_ok(result, &) = ResultMatch.call(result) { _1.ok(&) }

.on_result(result) ⇒ Object



26
# File 'lib/mona.rb', line 26

def on_result(result, &) = ResultMatch.call(result, &)

.result(obj) ⇒ Object



18
# File 'lib/mona.rb', line 18

def result(obj) = obj.is_a?(Result) ? obj : OK[obj]

.result_actionObject



30
# File 'lib/mona.rb', line 30

def result_action(&) = ResultAction::Ephemeral.new(&)