Class: TypedOperation::Result::Success
- Inherits:
-
Object
- Object
- TypedOperation::Result::Success
- Defined in:
- lib/typed_operation/result/success.rb
Overview
Represents a successful result. Immutable value object.
Instance Attribute Summary collapse
-
#value ⇒ Object
readonly
Returns the value of attribute value.
Instance Method Summary collapse
-
#==(other) ⇒ Object
(also: #eql?)
: (untyped) -> bool.
-
#deconstruct ⇒ Object
Pattern matching support - array destructuring.
-
#deconstruct_keys(keys) ⇒ Object
Pattern matching support - hash destructuring.
-
#failure ⇒ Object
Returns nil for Success.
-
#failure? ⇒ Boolean
: () -> false.
-
#hash ⇒ Object
: () -> Integer.
-
#initialize(value) ⇒ Success
constructor
: (untyped) -> void.
-
#inspect ⇒ Object
(also: #to_s)
: () -> String.
-
#success? ⇒ Boolean
: () -> true.
-
#value! ⇒ Object
Returns the wrapped value.
Constructor Details
#initialize(value) ⇒ Success
: (untyped) -> void
13 14 15 16 |
# File 'lib/typed_operation/result/success.rb', line 13 def initialize(value) @value = value freeze end |
Instance Attribute Details
#value ⇒ Object (readonly)
Returns the value of attribute value.
10 11 12 |
# File 'lib/typed_operation/result/success.rb', line 10 def value @value end |
Instance Method Details
#==(other) ⇒ Object Also known as: eql?
: (untyped) -> bool
58 59 60 |
# File 'lib/typed_operation/result/success.rb', line 58 def ==(other) other.is_a?(Success) && other.value == @value end |
#deconstruct ⇒ Object
Pattern matching support - array destructuring. : () -> Array
42 43 44 |
# File 'lib/typed_operation/result/success.rb', line 42 def deconstruct @value.is_a?(::Array) ? @value : [@value] end |
#deconstruct_keys(keys) ⇒ Object
Pattern matching support - hash destructuring. Delegates to the inner value if it responds to deconstruct_keys. : (Array?) -> Hash[Symbol, untyped]
49 50 51 52 53 54 55 |
# File 'lib/typed_operation/result/success.rb', line 49 def deconstruct_keys(keys) if @value.respond_to?(:deconstruct_keys) @value.deconstruct_keys(keys) else {value: @value} end end |
#failure ⇒ Object
Returns nil for Success. : () -> nil
36 37 38 |
# File 'lib/typed_operation/result/success.rb', line 36 def failure nil end |
#failure? ⇒ Boolean
: () -> false
24 25 26 |
# File 'lib/typed_operation/result/success.rb', line 24 def failure? false end |
#hash ⇒ Object
: () -> Integer
64 65 66 |
# File 'lib/typed_operation/result/success.rb', line 64 def hash [self.class, @value].hash end |
#inspect ⇒ Object Also known as: to_s
: () -> String
69 70 71 |
# File 'lib/typed_operation/result/success.rb', line 69 def inspect "Success(#{@value.inspect})" end |
#success? ⇒ Boolean
: () -> true
19 20 21 |
# File 'lib/typed_operation/result/success.rb', line 19 def success? true end |
#value! ⇒ Object
Returns the wrapped value. : () -> untyped
30 31 32 |
# File 'lib/typed_operation/result/success.rb', line 30 def value! @value end |