Class: Ask::Actions::Result
- Inherits:
-
Object
- Object
- Ask::Actions::Result
- Defined in:
- lib/ask/actions/result.rb
Overview
The uniform response shape every action returns. Channel adapters (web controllers, Slack handlers, voice agents) consume the same contract regardless of which surface a request came from.
Instance Attribute Summary collapse
-
#code ⇒ Object
readonly
Returns the value of attribute code.
-
#data ⇒ Object
readonly
Returns the value of attribute data.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#ok ⇒ Object
readonly
Returns the value of attribute ok.
-
#redirect_path ⇒ Object
readonly
Returns the value of attribute redirect_path.
Class Method Summary collapse
- .error(message: "", data: {}, code: nil, redirect_path: nil) ⇒ Object
- .ok(message: "", data: {}, code: nil, redirect_path: nil) ⇒ Object
Instance Method Summary collapse
- #error? ⇒ Boolean
-
#initialize(ok:, message:, data: {}, code: nil, redirect_path: nil) ⇒ Result
constructor
A new instance of Result.
- #ok? ⇒ Boolean
- #to_h ⇒ Object
Constructor Details
#initialize(ok:, message:, data: {}, code: nil, redirect_path: nil) ⇒ Result
Returns a new instance of Result.
15 16 17 18 19 20 21 |
# File 'lib/ask/actions/result.rb', line 15 def initialize(ok:, message:, data: {}, code: nil, redirect_path: nil) @ok = ok @message = @data = data @code = code @redirect_path = redirect_path end |
Instance Attribute Details
#code ⇒ Object (readonly)
Returns the value of attribute code.
13 14 15 |
# File 'lib/ask/actions/result.rb', line 13 def code @code end |
#data ⇒ Object (readonly)
Returns the value of attribute data.
13 14 15 |
# File 'lib/ask/actions/result.rb', line 13 def data @data end |
#message ⇒ Object (readonly)
Returns the value of attribute message.
13 14 15 |
# File 'lib/ask/actions/result.rb', line 13 def @message end |
#ok ⇒ Object (readonly)
Returns the value of attribute ok.
13 14 15 |
# File 'lib/ask/actions/result.rb', line 13 def ok @ok end |
#redirect_path ⇒ Object (readonly)
Returns the value of attribute redirect_path.
13 14 15 |
# File 'lib/ask/actions/result.rb', line 13 def redirect_path @redirect_path end |
Class Method Details
.error(message: "", data: {}, code: nil, redirect_path: nil) ⇒ Object
39 40 41 |
# File 'lib/ask/actions/result.rb', line 39 def self.error(message: "", data: {}, code: nil, redirect_path: nil) new(ok: false, message: , data: data, code: code, redirect_path: redirect_path) end |
.ok(message: "", data: {}, code: nil, redirect_path: nil) ⇒ Object
35 36 37 |
# File 'lib/ask/actions/result.rb', line 35 def self.ok(message: "", data: {}, code: nil, redirect_path: nil) new(ok: true, message: , data: data, code: code, redirect_path: redirect_path) end |
Instance Method Details
#error? ⇒ Boolean
27 28 29 |
# File 'lib/ask/actions/result.rb', line 27 def error? !ok end |
#ok? ⇒ Boolean
23 24 25 |
# File 'lib/ask/actions/result.rb', line 23 def ok? ok end |
#to_h ⇒ Object
31 32 33 |
# File 'lib/ask/actions/result.rb', line 31 def to_h { ok: ok, message: , data: data, code: code, redirect_path: redirect_path } end |