Class: Hubbado::Sequence::Result
- Inherits:
-
Object
- Object
- Hubbado::Sequence::Result
- Defined in:
- lib/hubbado/sequence/result.rb
Constant Summary collapse
- FRAMEWORK_I18N_SCOPE =
"sequence.errors".freeze
Instance Attribute Summary collapse
-
#code ⇒ Object
readonly
Returns the value of attribute code.
-
#ctx ⇒ Object
readonly
Returns the value of attribute ctx.
-
#data ⇒ Object
readonly
Returns the value of attribute data.
-
#i18n_args ⇒ Object
readonly
Returns the value of attribute i18n_args.
-
#i18n_key ⇒ Object
readonly
Returns the value of attribute i18n_key.
-
#i18n_scope ⇒ Object
readonly
Returns the value of attribute i18n_scope.
-
#step ⇒ Object
readonly
Returns the value of attribute step.
-
#successful_steps ⇒ Object
readonly
Returns the value of attribute successful_steps.
Class Method Summary collapse
- .failure(ctx, code:, data: nil, step: nil, i18n_scope: nil, i18n_key: nil, i18n_args: nil, successful_steps: []) ⇒ Object
- .success(ctx, successful_steps: [], i18n_scope: nil) ⇒ Object
Instance Method Summary collapse
- #failure? ⇒ Boolean
-
#initialize(status, ctx:, successful_steps:, i18n_scope:, code: nil, data: nil, step: nil, i18n_key: nil, i18n_args: nil) ⇒ Result
constructor
A new instance of Result.
- #message ⇒ Object
- #success? ⇒ Boolean
- #with_i18n_scope(scope) ⇒ Object
- #with_step(step) ⇒ Object
- #with_successful_steps(successful_steps) ⇒ Object
Constructor Details
#initialize(status, ctx:, successful_steps:, i18n_scope:, code: nil, data: nil, step: nil, i18n_key: nil, i18n_args: nil) ⇒ Result
Returns a new instance of Result.
41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/hubbado/sequence/result.rb', line 41 def initialize(status, ctx:, successful_steps:, i18n_scope:, code: nil, data: nil, step: nil, i18n_key: nil, i18n_args: nil) @status = status @ctx = ctx @code = code @data = data @step = step @successful_steps = successful_steps @i18n_scope = i18n_scope @i18n_key = i18n_key @i18n_args = i18n_args end |
Instance Attribute Details
#code ⇒ Object (readonly)
Returns the value of attribute code.
7 8 9 |
# File 'lib/hubbado/sequence/result.rb', line 7 def code @code end |
#ctx ⇒ Object (readonly)
Returns the value of attribute ctx.
6 7 8 |
# File 'lib/hubbado/sequence/result.rb', line 6 def ctx @ctx end |
#data ⇒ Object (readonly)
Returns the value of attribute data.
8 9 10 |
# File 'lib/hubbado/sequence/result.rb', line 8 def data @data end |
#i18n_args ⇒ Object (readonly)
Returns the value of attribute i18n_args.
13 14 15 |
# File 'lib/hubbado/sequence/result.rb', line 13 def i18n_args @i18n_args end |
#i18n_key ⇒ Object (readonly)
Returns the value of attribute i18n_key.
12 13 14 |
# File 'lib/hubbado/sequence/result.rb', line 12 def i18n_key @i18n_key end |
#i18n_scope ⇒ Object (readonly)
Returns the value of attribute i18n_scope.
11 12 13 |
# File 'lib/hubbado/sequence/result.rb', line 11 def i18n_scope @i18n_scope end |
#step ⇒ Object (readonly)
Returns the value of attribute step.
9 10 11 |
# File 'lib/hubbado/sequence/result.rb', line 9 def step @step end |
#successful_steps ⇒ Object (readonly)
Returns the value of attribute successful_steps.
10 11 12 |
# File 'lib/hubbado/sequence/result.rb', line 10 def successful_steps @successful_steps end |
Class Method Details
.failure(ctx, code:, data: nil, step: nil, i18n_scope: nil, i18n_key: nil, i18n_args: nil, successful_steps: []) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/hubbado/sequence/result.rb', line 24 def self.failure(ctx, code:, data: nil, step: nil, i18n_scope: nil, i18n_key: nil, i18n_args: nil, successful_steps: []) raise ArgumentError, "Result.failure requires code:" unless code new( :failure, ctx: ctx, code: code, data: data, step: step, successful_steps: successful_steps, i18n_scope: i18n_scope, i18n_key: i18n_key, i18n_args: i18n_args ) end |
.success(ctx, successful_steps: [], i18n_scope: nil) ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/hubbado/sequence/result.rb', line 15 def self.success(ctx, successful_steps: [], i18n_scope: nil) new( :success, ctx: ctx, successful_steps: successful_steps, i18n_scope: i18n_scope ) end |
Instance Method Details
#failure? ⇒ Boolean
59 60 61 |
# File 'lib/hubbado/sequence/result.rb', line 59 def failure? @status == :failure end |
#message ⇒ Object
77 78 79 80 81 |
# File 'lib/hubbado/sequence/result.rb', line 77 def return nil if success? translate_with_chain || humanize_code end |
#success? ⇒ Boolean
55 56 57 |
# File 'lib/hubbado/sequence/result.rb', line 55 def success? @status == :success end |
#with_i18n_scope(scope) ⇒ Object
67 68 69 70 71 |
# File 'lib/hubbado/sequence/result.rb', line 67 def with_i18n_scope(scope) return self unless @i18n_scope.nil? copy(i18n_scope: scope) end |
#with_step(step) ⇒ Object
73 74 75 |
# File 'lib/hubbado/sequence/result.rb', line 73 def with_step(step) copy(step: step) end |
#with_successful_steps(successful_steps) ⇒ Object
63 64 65 |
# File 'lib/hubbado/sequence/result.rb', line 63 def with_successful_steps(successful_steps) copy(successful_steps: successful_steps) end |