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/namespace.rb,
lib/api_thread.rb,
lib/parameters.rb,
lib/restful_model.rb,
lib/time_attr_accessor.rb,
lib/restful_model_collection.rb
Defined Under Namespace
Modules: Parameters, TimeAttrAccessor
Classes: API, APIError, AccessDenied, Account, Calendar, Contact, Draft, Event, File, Folder, InvalidRequest, ManagementModelCollection, Message, MessageRejected, Namespace, NoAuthToken, ResourceNotFound, RestfulModel, RestfulModelCollection, SendingQuotaExceeded, ServiceUnavailable, Tag, Thread, UnexpectedAccountAction, UnexpectedResponse
Constant Summary
collapse
- Label =
Folder.clone
- VERSION =
"0.18.2"
Class Method Summary
collapse
Class Method Details
.interpret_http_status(result) ⇒ Object
27
28
29
30
31
|
# File 'lib/inbox.rb', line 27
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/inbox.rb', line 33
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')
if result.code.to_i == 400
exc = InvalidRequest
elsif result.code.to_i == 402
exc = MessageRejected
elsif result.code.to_i == 429
exc = SendingQuotaExceeded
elsif result.code.to_i == 503
exc = ServiceUnavailable
else
exc = APIError
end
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
|