class Countir::Error

Attributes

body[R]
header[R]
status_code[R]

Public Class Methods

new(err, status_code: nil, header: nil, body: nil) click to toggle source
Calls superclass method
# File lib/countir/errors.rb, line 8
def initialize(err, status_code: nil, header: nil, body: nil)
  @cause = err.respond_to?(:backtrace) ? err : nil
  @status_code = status_code
  @header = header.dup unless header.nil?
  @body = JSON.parse(body) rescue body

  message =
    if @body["error"]["message"]
      @body["error"]["message"]
    elsif err.respond_to?(:backtrace)
      err.message
    else
      err.to_s
    end

  super(message)
end

Public Instance Methods

backtrace() click to toggle source
Calls superclass method
# File lib/countir/errors.rb, line 26
def backtrace
  if @cause
    @cause.backtrace
  else
    super
  end
end