class EtCcdClient::Exceptions::Base
Attributes
original_exception[RW]
request[R]
url[RW]
Public Class Methods
exception(*args, **kw_args)
click to toggle source
# File lib/et_ccd_client/exceptions/base.rb, line 15 def self.exception(*args, **kw_args) new(*args, **kw_args) end
new(original_exception, url: nil, request: nil)
click to toggle source
# File lib/et_ccd_client/exceptions/base.rb, line 19 def initialize(original_exception, url: nil, request: nil) self.original_exception = original_exception self.url = url self.request = request end
raise_exception(original_exception, **kw_args)
click to toggle source
# File lib/et_ccd_client/exceptions/base.rb, line 6 def self.raise_exception(original_exception, **kw_args) expected_error_class = original_exception.class.name.split('::').last if EtCcdClient::Exceptions.const_defined?(expected_error_class) raise EtCcdClient::Exceptions.const_get(expected_error_class).new original_exception, **kw_args else raise new(original_exception, **kw_args) end end
Public Instance Methods
response()
click to toggle source
# File lib/et_ccd_client/exceptions/base.rb, line 25 def response original_exception.response end
to_s()
click to toggle source
# File lib/et_ccd_client/exceptions/base.rb, line 29 def to_s json = JSON.parse(response.body) rescue JSON::JSONError message = if json.nil? || json == JSON::JSONError '' else json['message'] || json['error'] || '' end if url "#{original_exception.message} - #{message} ('#{url}')" else "#{original_exception.message} - #{message}" end end
Private Instance Methods
request=(request)
click to toggle source
# File lib/et_ccd_client/exceptions/base.rb, line 47 def request=(request) @request = request&.args end