Module: Keka
- Extended by:
- Context::Originable
- Defined in:
- lib/keka.rb,
lib/keka/result.rb,
lib/keka/context.rb,
lib/keka/version.rb,
lib/keka/exceptions.rb
Defined Under Namespace
Classes: Context, Halt, Result
Constant Summary
collapse
- VERSION =
"0.5.0"
Class Method Summary
collapse
rescue_with, run
Class Method Details
.err!(msg = nil) ⇒ Object
56
57
58
|
# File 'lib/keka.rb', line 56
def err!(msg = nil)
raise Halt.new(err_result(msg))
end
|
.err_if!(evaluator, msg = nil, &block) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/keka.rb', line 10
def err_if!(evaluator, msg = nil, &block)
if (evaluator.respond_to?(:ok?) ? evaluator.ok? : evaluator)
if msg
raise Halt.new(err_result(msg))
elsif block_given?
message = yield block
raise Halt.new(err_result(message))
else
raise Halt.new(err_result)
end
end
end
|
.err_result(msg = nil) ⇒ Object
70
71
72
|
# File 'lib/keka.rb', line 70
def err_result(msg = nil)
Result.new(false, msg)
end
|
.err_unless!(evaluator, msg = nil, &block) ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/keka.rb', line 23
def err_unless!(evaluator, msg = nil, &block)
if evaluator.is_a? self::Result
return if evaluator.ok?
if msg
evaluator.msg = msg
else
evaluator.msg = yield block if block_given?
end
raise Halt.new(evaluator)
else
unless evaluator
error_result = \
if msg
err_result(msg)
else
message = yield block if block_given?
err_result(message)
end
raise Halt.new(error_result)
end
end
end
|
.ok!(msg = nil) ⇒ Object
60
61
62
|
# File 'lib/keka.rb', line 60
def ok!(msg = nil)
raise Halt.new(ok_result(msg))
end
|
.ok_if!(evaluator, msg = nil) ⇒ Object
46
47
48
49
50
51
52
53
54
|
# File 'lib/keka.rb', line 46
def ok_if!(evaluator, msg = nil)
if evaluator.is_a? self::Result
return unless evaluator.ok?
evaluator.msg = msg if msg
raise Halt.new(evaluator)
else
raise Halt.new(ok_result(msg)) if evaluator
end
end
|
.ok_result(msg = nil) ⇒ Object
65
66
67
|
# File 'lib/keka.rb', line 65
def ok_result(msg = nil)
Result.new(true, msg)
end
|