Module: Inbox
- Defined in:
- lib/tag.rb,
lib/file.rb,
lib/draft.rb,
lib/event.rb,
lib/inbox.rb,
lib/thread.rb,
lib/contact.rb,
lib/message.rb,
lib/version.rb,
lib/calendar.rb,
lib/namespace.rb,
lib/restful_model.rb,
lib/restful_model_collection.rb
Defined Under Namespace
Classes: API, APIError, AccessDenied, Calendar, Contact, Draft, Event, File, Message, Namespace, NoAuthToken, ResourceNotFound, RestfulModel, RestfulModelCollection, Tag, Thread, UnexpectedResponse
Constant Summary collapse
- VERSION =
"0.3.0"
Class Method Summary collapse
Class Method Details
.interpret_response(result, result_content, options = {}) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/inbox.rb', line 21 def self.interpret_response(result, result_content, = {}) # Handle HTTP errors and RestClient errors raise ResourceNotFound.new if result.code.to_i == 404 raise AccessDenied.new if result.code.to_i == 403 # Handle content expectation errors raise UnexpectedResponse.new if [:expected_class] && result_content.empty? json = JSON.parse(result_content) raise APIError.new(json['type'], json['message']) if json.is_a?(Hash) && json['type'] == 'api_error' raise UnexpectedResponse.new(result.msg) if result.is_a?(Net::HTTPClientError) raise UnexpectedResponse.new if [:expected_class] && !json.is_a?([:expected_class]) json rescue JSON::ParserError => e # Handle parsing errors raise UnexpectedResponse.new(e.) end |