Module: SafeOperation
- Defined in:
- lib/safe_operation.rb,
lib/safe_operation/failure.rb,
lib/safe_operation/success.rb,
lib/safe_operation/version.rb
Defined Under Namespace
Classes: Failure, Success
Constant Summary
collapse
- NoFailureHandler =
Class.new NotImplementedError
- VERSION =
"1.0.0"
Class Method Summary
collapse
Class Method Details
.either(maybe_block) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/safe_operation.rb', line 10
def self.either(maybe_block)
raise NoFailureHandler if !block_given?
if maybe = maybe_block.call
Success.new maybe
else
Failure.new yield
end
rescue StandardError
Failure.new yield
end
|