Module: Sqs::Parser
Instance Method Summary collapse
- #parse_create_queue_result(xml) ⇒ Object
- #parse_error(xml) ⇒ Object
- #parse_get_queue_attributes_result(xml) ⇒ Object
- #parse_list_queues_result(xml) ⇒ Object
- #parse_receive_message_result(xml) ⇒ Object
- #rexml_document(xml) ⇒ Object
Instance Method Details
#parse_create_queue_result(xml) ⇒ Object
16 17 18 |
# File 'lib/sqs/parser.rb', line 16 def parse_create_queue_result(xml) rexml_document(xml).elements["CreateQueueResponse/CreateQueueResult/QueueUrl"].text end |
#parse_error(xml) ⇒ Object
43 44 45 46 |
# File 'lib/sqs/parser.rb', line 43 def parse_error(xml) document = rexml_document(xml) [document.elements["ErrorResponse/Error/Code"].text.split(".").last, document.elements["ErrorResponse/Error/Message"].text] end |
#parse_get_queue_attributes_result(xml) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/sqs/parser.rb', line 20 def parse_get_queue_attributes_result(xml) attributes = {} rexml_document(xml).elements.each("GetQueueAttributesResponse/GetQueueAttributesResult/Attribute") do |e| name = e.elements["Name"].text value = e.elements["Value"].text attributes[name] = value end attributes end |
#parse_list_queues_result(xml) ⇒ Object
10 11 12 13 14 |
# File 'lib/sqs/parser.rb', line 10 def parse_list_queues_result(xml) urls = [] rexml_document(xml).elements.each("ListQueuesResponse/ListQueuesResult/QueueUrl") { |e| urls << e.text } urls end |
#parse_receive_message_result(xml) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/sqs/parser.rb', line 30 def (xml) = [] rexml_document(xml).elements.each("ReceiveMessageResponse/ReceiveMessageResult/Message") do |e| << { :id => e.elements["MessageId"].text, :receipt_handle => e.elements["ReceiptHandle"].text, :body_md5 => e.elements["MD5OfBody"].text, :body => e.elements["Body"].text } end end |
#rexml_document(xml) ⇒ Object
5 6 7 8 |
# File 'lib/sqs/parser.rb', line 5 def rexml_document(xml) xml.force_encoding(Encoding::UTF_8) if xml.respond_to? :force_encoding Document.new(xml) end |