lib/message.rb in inbox-1.0.0 vs lib/message.rb in inbox-1.1.0

- old
+ new

@@ -73,10 +73,38 @@ def raw model = nil collection = RestfulModelCollection.new(Message, @_api, {:message_id=>@id}) RestClient.get("#{collection.url}/#{id}/", :accept => 'message/rfc822'){ |response,request,result| + Inbox.interpret_http_status(result) response } + end + + def expanded + expanded_url = url(action='?view=expanded') + + RestClient.get(expanded_url){ |response,request,result| + json = Inbox.interpret_response(result, response, :expected_class => Object) + expanded_message = Inbox::ExpandedMessage.new(@_api) + expanded_message.inflate(json) + expanded_message + } + + end + end + + class ExpandedMessage < Message + # override inflate because expanded messages have some special parameters + # like In-Reply-To and Message-Id. + attr_reader :message_id + attr_reader :in_reply_to + attr_reader :references + + def inflate(json) + super + @message_id = json['headers']['Message-Id'] + @in_reply_to = json['headers']['In-Reply-To'] + @references = json['headers']['References'] end end end