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.
Class Method Summary collapse
Instance Method Summary collapse
- #error? ⇒ Boolean
-
#initialize(ok:, message:, data: {}, code: nil) ⇒ Result
constructor
A new instance of Result.
- #ok? ⇒ Boolean
- #to_h ⇒ Object
Constructor Details
#initialize(ok:, message:, data: {}, code: nil) ⇒ Result
Returns a new instance of Result.
15 16 17 18 19 20 |
# File 'lib/ask/actions/result.rb', line 15 def initialize(ok:, message:, data: {}, code: nil) @ok = ok @message = @data = data @code = code 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 |
Class Method Details
.error(message: "", data: {}, code: nil) ⇒ Object
38 39 40 |
# File 'lib/ask/actions/result.rb', line 38 def self.error(message: "", data: {}, code: nil) new(ok: false, message: , data: data, code: code) end |
.ok(message: "", data: {}, code: nil) ⇒ Object
34 35 36 |
# File 'lib/ask/actions/result.rb', line 34 def self.ok(message: "", data: {}, code: nil) new(ok: true, message: , data: data, code: code) end |
Instance Method Details
#error? ⇒ Boolean
26 27 28 |
# File 'lib/ask/actions/result.rb', line 26 def error? !ok end |
#ok? ⇒ Boolean
22 23 24 |
# File 'lib/ask/actions/result.rb', line 22 def ok? ok end |
#to_h ⇒ Object
30 31 32 |
# File 'lib/ask/actions/result.rb', line 30 def to_h { ok: ok, message: , data: data, code: code } end |