Exception: SocialPlus::WebApi::ApiError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/social_plus/web_api/api_error.rb,
lib/social_plus/web_api/api_error.rb

Overview

An Exception class which wraps errors from SocialPlus Web API

Direct Known Subclasses

HttpResponseError, InvalidToken

Constant Summary collapse

EXCEPTION_CLASSES =
Hash.new(ApiError).tap do |exception_classes|
  exception_classes[4] = InvalidToken
end

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(error) ⇒ ApiError

Returns a new instance of ApiError.

Parameters:

  • error (Hash)

    a Hash which represents an API error

Options Hash (error):

  • message (String)

    the error message

  • code (Integer)

    the error code



13
14
15
16
# File 'lib/social_plus/web_api/api_error.rb', line 13

def initialize(error)
  super(error['message'])
  @code = error['code']
end

Instance Attribute Details

#codeInteger (readonly)

Returns the error code (API error code or HTTP status).

Returns:

  • (Integer)

    the error code (API error code or HTTP status)



19
20
21
# File 'lib/social_plus/web_api/api_error.rb', line 19

def code
  @code
end

Class Method Details

.exception_from_api_result(response, result) ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/social_plus/web_api/api_error.rb', line 30

def self.exception_from_api_result(response, result)
  if social_plus_error?(response, result)
    error = result['error']
    raise EXCEPTION_CLASSES[error['code']], error
  else
    raise HttpResponseError, response
  end
end