Exception: Podio::PodioError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/podio/error.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response_body, response_status, url) ⇒ PodioError

Returns a new instance of PodioError.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/podio/error.rb', line 6

def initialize(response_body, response_status, url)
  @response_body, @response_status, @url = response_body, response_status, url

  if response_body.is_a?(Hash)
    @code       = response_body["error"]
    @sub_code   = response_body["error_detail"]
    @message    = response_body["error_description"]
    @propagate  = response_body["error_propagate"]
    @parameters = response_body["error_parameters"]
  else
    @message    = response_body.to_s
  end

  super(response_body.inspect)
end

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code.



3
4
5
# File 'lib/podio/error.rb', line 3

def code
  @code
end

#messageObject (readonly)

Returns the value of attribute message.



3
4
5
# File 'lib/podio/error.rb', line 3

def message
  @message
end

#parametersObject (readonly)

Returns the value of attribute parameters.



3
4
5
# File 'lib/podio/error.rb', line 3

def parameters
  @parameters
end

#propagateObject

Returns the value of attribute propagate.



4
5
6
# File 'lib/podio/error.rb', line 4

def propagate
  @propagate
end

#response_bodyObject (readonly)

Returns the value of attribute response_body.



3
4
5
# File 'lib/podio/error.rb', line 3

def response_body
  @response_body
end

#response_statusObject (readonly)

Returns the value of attribute response_status.



3
4
5
# File 'lib/podio/error.rb', line 3

def response_status
  @response_status
end

#sub_codeObject (readonly)

Returns the value of attribute sub_code.



3
4
5
# File 'lib/podio/error.rb', line 3

def sub_code
  @sub_code
end

#urlObject (readonly)

Returns the value of attribute url.



3
4
5
# File 'lib/podio/error.rb', line 3

def url
  @url
end

Instance Method Details

#resolved_message(default_message = nil) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/podio/error.rb', line 22

def resolved_message(default_message=nil)
  if @propagate
    @message
  else
    default_message || "An unexpected error occurred"
  end
end