Module: Inbox
- Defined in:
- lib/tag.rb,
lib/file.rb,
lib/draft.rb,
lib/event.rb,
lib/inbox.rb,
lib/label.rb,
lib/nylas.rb,
lib/folder.rb,
lib/account.rb,
lib/contact.rb,
lib/message.rb,
lib/version.rb,
lib/calendar.rb,
lib/api_thread.rb,
lib/parameters.rb,
lib/api_account.rb,
lib/restful_model.rb,
lib/time_attr_accessor.rb,
lib/restful_model_collection.rb
Defined Under Namespace
Modules: Parameters, TimeAttrAccessor
Classes: API, APIAccount, APIError, AccessDenied, Account, Calendar, Contact, Draft, Event, ExpandedMessage, File, Folder, InvalidRequest, ManagementModelCollection, Message, MessageRejected, NoAuthToken, ResourceNotFound, RestfulModel, RestfulModelCollection, SendingQuotaExceeded, ServiceUnavailable, Tag, Thread, UnexpectedAccountAction, UnexpectedResponse
Constant Summary
collapse
- Label =
Folder.clone
- VERSION =
"1.1.0"
Class Method Summary
collapse
Class Method Details
.http_code_to_exception(http_code) ⇒ Object
.interpret_http_status(result) ⇒ Object
47
48
49
50
51
|
# File 'lib/inbox.rb', line 47
def self.interpret_http_status(result)
raise ResourceNotFound.new if result.code.to_i == 404
raise AccessDenied.new if result.code.to_i == 403
end
|
.interpret_response(result, result_content, options = {}) ⇒ Object
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# File 'lib/inbox.rb', line 73
def self.interpret_response(result, result_content, options = {})
Inbox.interpret_http_status(result)
raise UnexpectedResponse.new if options[:expected_class] && result_content.empty?
json = options[:result_parsed]? result_content : JSON.parse(result_content)
if json.is_a?(Hash) && (json['type'] == 'api_error' or json['type'] == 'invalid_request_error')
exc = Inbox.http_code_to_exception(result.code.to_i)
raise exc.new(json['type'], json['message'])
end
raise UnexpectedResponse.new(result.msg) if result.is_a?(Net::HTTPClientError)
raise UnexpectedResponse.new if options[:expected_class] && !json.is_a?(options[:expected_class])
json
rescue JSON::ParserError => e
raise UnexpectedResponse.new(e.message)
end
|