Class: Teckel::Result
- Inherits:
-
Object
- Object
- Teckel::Result
- Defined in:
- lib/teckel/result.rb
Overview
Wrapper for output and error return values of Operations
Instance Attribute Summary collapse
-
#value ⇒ Mixed
readonly
The value/payload.
Instance Method Summary collapse
- #failure(default = nil, &block) ⇒ Object
- #failure? ⇒ Boolean
-
#initialize(value, success) ⇒ Result
constructor
A new instance of Result.
- #success(default = nil, &block) ⇒ Object
- #successful? ⇒ Boolean
Constructor Details
#initialize(value, success) ⇒ Result
Returns a new instance of Result.
31 32 33 34 |
# File 'lib/teckel/result.rb', line 31 def initialize(value, success) @value = value @success = (!!success).freeze end |
Instance Attribute Details
#value ⇒ Mixed (readonly)
Returns the value/payload.
38 39 40 |
# File 'lib/teckel/result.rb', line 38 def value @value end |
Instance Method Details
#failure(default = nil, &block) ⇒ Object
48 49 50 51 52 53 |
# File 'lib/teckel/result.rb', line 48 def failure(default = nil, &block) return @value if !@success return yield(@value) if block default end |
#failure? ⇒ Boolean
44 45 46 |
# File 'lib/teckel/result.rb', line 44 def failure? !@success end |
#success(default = nil, &block) ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/teckel/result.rb', line 55 def success(default = nil, &block) return @value if @success return yield(@value) if block default end |
#successful? ⇒ Boolean
40 41 42 |
# File 'lib/teckel/result.rb', line 40 def successful? @success end |