class MiniProgram::ServiceResult

Attributes

data[RW]
errors[RW]
message[RW]
message_type[RW]
success[RW]
success?[RW]

Public Class Methods

new(success: false, errors: nil, message: nil, message_type: nil, data: {}) click to toggle source
# File lib/service_result.rb, line 11
def initialize(success: false,
               errors: nil,
               message: nil,
               message_type: nil,
               data: {})
  self.success = success
  self.data = (data.presence || {}).with_indifferent_access
  self.errors = errors.is_a?(Enumerable) ? errors : [errors]
  self.message = message
  self.message_type = message_type
end

Public Instance Methods

failure?() click to toggle source
# File lib/service_result.rb, line 25
def failure?
  !success?
end
get_message_type() click to toggle source
# File lib/service_result.rb, line 39
def get_message_type
  if message_type.present?
    message_type.to_sym
  elsif success?
    :notice
  else
    :error
  end
end
on_failure() { |self| ... } click to toggle source
# File lib/service_result.rb, line 34
def on_failure
  yield(self) if failure?
  self
end
on_success() { |self| ... } click to toggle source
# File lib/service_result.rb, line 29
def on_success
  yield(self) if success?
  self
end