lib/nylas.rb in nylas-3.0.0 vs lib/nylas.rb in nylas-3.1.0

- old
+ new

@@ -11,10 +11,11 @@ require 'api_account' require 'api_thread' require 'calendar' require 'account' require 'message' +require 'expanded_message' require 'draft' require 'contact' require 'file' require 'calendar' require 'event' @@ -34,11 +35,11 @@ attr_accessor :server_error def initialize(type, message, server_error = nil) super(message) self.type = type - self.message = message + self.message = message self.server_error = server_error end end AccessDenied = Class.new(APIError) ResourceNotFound = Class.new(APIError) @@ -82,11 +83,11 @@ exc = Nylas.http_code_to_exception(result.code.to_i) if response.is_a?(Hash) raise exc.new(response['type'], response['message'], response.fetch('server_error', nil)) end end - + raise UnexpectedResponse.new(result.msg) if result.is_a?(Net::HTTPClientError) raise UnexpectedResponse.new if options[:expected_class] && !response.is_a?(options[:expected_class]) response rescue JSON::ParserError => e @@ -168,12 +169,20 @@ # API Methods def threads @threads ||= RestfulModelCollection.new(Thread, self) end - def messages - @messages ||= RestfulModelCollection.new(Message, self) + def messages(expanded: false) + @messages ||= Hash.new do |h, is_expanded| + h[is_expanded] = \ + if is_expanded + RestfulModelCollection.new(ExpandedMessage, self, view: 'expanded') + else + RestfulModelCollection.new(Message, self) + end + end + @messages[expanded] end def files @files ||= RestfulModelCollection.new(File, self) end @@ -366,20 +375,20 @@ obj.id = delta["id"] obj.cursor = delta["cursor"] yield delta["event"], obj end end - + http = EventMachine::HttpRequest.new(path, :connect_timeout => 0, :inactivity_timeout => timeout).get(:keepalive => true) - # set a callback on the HTTP stream that parses incoming chunks as they come in + # set a callback on the HTTP stream that parses incoming chunks as they come in http.stream do |chunk| parser << chunk end http.errback do raise UnexpectedResponse.new http.error end - + end end end