class Services::Responses::Error

Attributes

error_code[RW]
error_message[RW]
exception[RW]

Public Class Methods

new(result, error_message: nil, error_code: nil, exception: nil, raise_exception_on_async_error: nil) click to toggle source
# File lib/services/responses/error.rb, line 6
def initialize(result, error_message: nil, error_code: nil, exception: nil, raise_exception_on_async_error: nil)
  @result, @error_message, @error_code, @exception, @raise_exception_on_async_error =
  result, error_message, error_code, exception, raise_exception_on_async_error

  raise_if_async!
end

Public Instance Methods

success?() click to toggle source
# File lib/services/responses/error.rb, line 13
def success?
  false
end

Protected Instance Methods

raise_if_async!() click to toggle source
# File lib/services/responses/error.rb, line 18
def raise_if_async!
  return unless should_raise?

  if @result.is_a?(Exception)
    raise @result
  elsif @exception
    raise @exception
  else
    err = ("#{@error_message} " + "[#{@error_code}]".gsub("[]", "")).strip
    raise StandardError.new(err)
  end
end
should_raise?() click to toggle source
# File lib/services/responses/error.rb, line 31
def should_raise?
  (Services::Responses.configuration.raise_exception_on_async_error || @raise_exception_on_async_error) \
    && Services::Responses::Base.async_environment?
end