Class: Hmibo::Result
- Inherits:
-
Object
- Object
- Hmibo::Result
- Defined in:
- lib/hmibo/result.rb
Overview
Result object for service operations
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
-
#errors ⇒ Object
readonly
Returns the value of attribute errors.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#success ⇒ Object
readonly
Returns the value of attribute success.
Class Method Summary collapse
- .error(message, errors = []) ⇒ Object
- .failure(message, errors = []) ⇒ Object
-
.success(message = 'Success', data = nil) ⇒ Object
Factory methods for creating results.
Instance Method Summary collapse
- #error? ⇒ Boolean
- #errors? ⇒ Boolean
- #failure? ⇒ Boolean
-
#initialize(success, message, data = nil, errors = []) ⇒ Result
constructor
A new instance of Result.
- #success? ⇒ Boolean
- #to_h ⇒ Object
- #to_json(*args) ⇒ Object
Constructor Details
#initialize(success, message, data = nil, errors = []) ⇒ Result
Returns a new instance of Result.
8 9 10 11 12 13 |
# File 'lib/hmibo/result.rb', line 8 def initialize(success, , data = nil, errors = []) @success = success = @data = data @errors = Array(errors) end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
6 7 8 |
# File 'lib/hmibo/result.rb', line 6 def data @data end |
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
6 7 8 |
# File 'lib/hmibo/result.rb', line 6 def errors @errors end |
#message ⇒ Object (readonly)
Returns the value of attribute message.
6 7 8 |
# File 'lib/hmibo/result.rb', line 6 def end |
#success ⇒ Object (readonly)
Returns the value of attribute success.
6 7 8 |
# File 'lib/hmibo/result.rb', line 6 def success @success end |
Class Method Details
.error(message, errors = []) ⇒ Object
53 54 55 |
# File 'lib/hmibo/result.rb', line 53 def self.error(, errors = []) failure(, errors) end |
.failure(message, errors = []) ⇒ Object
49 50 51 |
# File 'lib/hmibo/result.rb', line 49 def self.failure(, errors = []) new(false, , nil, Array(errors)) end |
.success(message = 'Success', data = nil) ⇒ Object
Factory methods for creating results
45 46 47 |
# File 'lib/hmibo/result.rb', line 45 def self.success( = 'Success', data = nil) new(true, , data, []) end |
Instance Method Details
#error? ⇒ Boolean
23 24 25 |
# File 'lib/hmibo/result.rb', line 23 def error? failure? end |
#errors? ⇒ Boolean
27 28 29 |
# File 'lib/hmibo/result.rb', line 27 def errors? @errors.present? end |
#failure? ⇒ Boolean
19 20 21 |
# File 'lib/hmibo/result.rb', line 19 def failure? !@success end |
#success? ⇒ Boolean
15 16 17 |
# File 'lib/hmibo/result.rb', line 15 def success? @success end |
#to_h ⇒ Object
31 32 33 34 35 36 37 38 |
# File 'lib/hmibo/result.rb', line 31 def to_h { success: @success, message: , data: @data, errors: @errors } end |
#to_json(*args) ⇒ Object
40 41 42 |
# File 'lib/hmibo/result.rb', line 40 def to_json(*args) to_h.to_json(*args) end |