module Azure::Queue::Serialization
Public Class Methods
message_to_xml(message_text, encode)
click to toggle source
# File lib/azure/queue/serialization.rb, line 61 def self.message_to_xml(message_text, encode) if encode builder = Nokogiri::XML::Builder.new do |xml| xml.QueueMessage { xml.MessageText Base64.encode64(message_text) } end else builder = Nokogiri::XML::Builder.new(:encoding => 'utf-8') do |xml| xml.QueueMessage { xml.MessageText message_text.encode("utf-8") } end end builder.to_xml end
queue_enumeration_results_from_xml(xml)
click to toggle source
# File lib/azure/queue/serialization.rb, line 74 def self.queue_enumeration_results_from_xml(xml) xml = slopify(xml) expect_node("EnumerationResults", xml) results = enumeration_results_from_xml(xml, Azure::Service::EnumerationResults.new) return results unless (xml > "Queues").any? && ((xml > "Queues") > "Queue").any? if xml.Queues.Queue.count == 0 results.push(queue_from_xml(xml.Queues.Queue)) else xml.Queues.Queue.each { |queue_node| results.push(queue_from_xml(queue_node)) } end results end
queue_from_xml(xml)
click to toggle source
# File lib/azure/queue/serialization.rb, line 93 def self.queue_from_xml(xml) xml = slopify(xml) expect_node("Queue", xml) queue = Queue.new queue.name = xml.Name.text if (xml > "Name").any? queue.url = xml.Url.text if (xml > "Url").any? queue.metadata = metadata_from_xml(xml.Metadata) if (xml > "Metadata").any? queue end
queue_message_from_xml(xml, decode)
click to toggle source
# File lib/azure/queue/serialization.rb, line 44 def self.queue_message_from_xml(xml, decode) xml = slopify(xml) expect_node("QueueMessage", xml) Message.new do |msg| msg.id = xml.MessageId.text if (xml > "MessageId").any? msg.insertion_time = xml.InsertionTime.text if (xml > "InsertionTime").any? msg.expiration_time = xml.ExpirationTime.text if (xml > "ExpirationTime").any? msg.dequeue_count = xml.DequeueCount.text.to_i if (xml > "DequeueCount").any? msg.message_text = xml.MessageText.text if (xml > "MessageText").any? msg.time_next_visible = xml.TimeNextVisible.text if (xml > "TimeNextVisible").any? msg.pop_receipt = xml.PopReceipt.text if (xml > "PopReceipt").any? msg.message_text = Base64.decode64(msg.message_text) if decode end end
queue_messages_from_xml(xml, decode)
click to toggle source
# File lib/azure/queue/serialization.rb, line 26 def self.queue_messages_from_xml(xml, decode) xml = slopify(xml) expect_node("QueueMessagesList", xml) results = [] return results unless (xml > "QueueMessage").any? if xml.QueueMessage.count == 0 results.push(queue_message_from_xml(xml.QueueMessage, decode)) else xml.QueueMessage.each { |message_node| results.push(queue_message_from_xml(message_node, decode)) } end results end