Exception: Collins::RichRequestError

Inherits:
RequestError show all
Defined in:
lib/collins/errors.rb

Instance Attribute Summary collapse

Attributes inherited from RequestError

#code, #uri

Instance Method Summary collapse

Constructor Details

#initialize(message, code, description, details = {}) ⇒ RichRequestError

Returns a new instance of RichRequestError.



23
24
25
26
27
28
29
30
# File 'lib/collins/errors.rb', line 23

def initialize message, code, description, details = {}
  super(message, code)
  @code = code
  @remote_description = description
  @class_of = details["classOf"]
  @remote_message = details["message"]
  @stacktrace = details["stackTrace"]
end

Instance Attribute Details

#class_ofObject

Returns the value of attribute class_of.



22
23
24
# File 'lib/collins/errors.rb', line 22

def class_of
  @class_of
end

#remote_descriptionObject

Returns the value of attribute remote_description.



22
23
24
# File 'lib/collins/errors.rb', line 22

def remote_description
  @remote_description
end

#remote_messageObject

Returns the value of attribute remote_message.



22
23
24
# File 'lib/collins/errors.rb', line 22

def remote_message
  @remote_message
end

#stacktraceObject

Returns the value of attribute stacktrace.



22
23
24
# File 'lib/collins/errors.rb', line 22

def stacktrace
  @stacktrace
end

Instance Method Details

#description(verbose = false) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/collins/errors.rb', line 38

def description verbose = false
  <<-D
  #{message}
  Response Code: #{code}
  URI: #{uri}
  Remote Description: #{remote_description}
  Remote Exception Class: #{class_of}
  Remote Message:
  #{remote_message}

  Remote Backtrace:
  #{get_remote_stacktrace(verbose)}
  D
end

#get_remote_stacktrace(verbose) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/collins/errors.rb', line 31

def get_remote_stacktrace verbose
  if verbose then
    stacktrace
  else
    "Suppressed"
  end
end