Class: Igniter::Contracts::Execution::StepResult
- Inherits:
-
Object
- Object
- Igniter::Contracts::Execution::StepResult
- Defined in:
- lib/igniter/contracts/execution/step_result.rb
Instance Attribute Summary collapse
-
#failure ⇒ Object
readonly
Returns the value of attribute failure.
-
#metadata ⇒ Object
readonly
Returns the value of attribute metadata.
-
#value ⇒ Object
readonly
Returns the value of attribute value.
Class Method Summary collapse
- .failure(code:, message:, details: {}, metadata: {}) ⇒ Object
- .success(value, metadata: {}) ⇒ Object
Instance Method Summary collapse
- #failure? ⇒ Boolean
-
#initialize(value:, failure:, metadata: {}) ⇒ StepResult
constructor
A new instance of StepResult.
- #success? ⇒ Boolean
- #to_h ⇒ Object
Constructor Details
#initialize(value:, failure:, metadata: {}) ⇒ StepResult
Returns a new instance of StepResult.
25 26 27 28 29 30 |
# File 'lib/igniter/contracts/execution/step_result.rb', line 25 def initialize(value:, failure:, metadata: {}) @value = value @failure = failure&.transform_keys(&:to_sym) @metadata = .transform_keys(&:to_sym).freeze freeze end |
Instance Attribute Details
#failure ⇒ Object (readonly)
Returns the value of attribute failure.
7 8 9 |
# File 'lib/igniter/contracts/execution/step_result.rb', line 7 def failure @failure end |
#metadata ⇒ Object (readonly)
Returns the value of attribute metadata.
7 8 9 |
# File 'lib/igniter/contracts/execution/step_result.rb', line 7 def @metadata end |
#value ⇒ Object (readonly)
Returns the value of attribute value.
7 8 9 |
# File 'lib/igniter/contracts/execution/step_result.rb', line 7 def value @value end |
Class Method Details
.failure(code:, message:, details: {}, metadata: {}) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/igniter/contracts/execution/step_result.rb', line 13 def self.failure(code:, message:, details: {}, metadata: {}) new( value: nil, failure: { code: code.to_sym, message: , details: details }, metadata: ) end |
.success(value, metadata: {}) ⇒ Object
9 10 11 |
# File 'lib/igniter/contracts/execution/step_result.rb', line 9 def self.success(value, metadata: {}) new(value: value, failure: nil, metadata: ) end |
Instance Method Details
#failure? ⇒ Boolean
36 37 38 |
# File 'lib/igniter/contracts/execution/step_result.rb', line 36 def failure? !success? end |
#success? ⇒ Boolean
32 33 34 |
# File 'lib/igniter/contracts/execution/step_result.rb', line 32 def success? failure.nil? end |
#to_h ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/igniter/contracts/execution/step_result.rb', line 40 def to_h { success: success?, value: StructuredDump.dump(value), failure: StructuredDump.dump(failure), metadata: StructuredDump.dump() } end |