2011-02-05 23:17:47 -05:00
|
|
|
module Fog
|
|
|
|
module Parsers
|
|
|
|
module AWS
|
|
|
|
module SQS
|
|
|
|
|
|
|
|
class ReceiveMessage < Fog::Parsers::Base
|
|
|
|
|
|
|
|
def reset
|
2011-07-19 16:10:26 -04:00
|
|
|
@message = { 'Attributes' => {} }
|
|
|
|
@response = { 'ResponseMetadata' => {}, 'Message' => []}
|
2011-02-05 23:17:47 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
def end_element(name)
|
|
|
|
case name
|
|
|
|
when 'RequestId'
|
|
|
|
@response['ResponseMetadata']['RequestId'] = @value
|
2011-07-19 16:10:26 -04:00
|
|
|
when 'Message'
|
|
|
|
@response['Message'] << @message
|
|
|
|
@message = { 'Attributes' => {} }
|
|
|
|
when 'Body', 'MD5OfBody', 'MessageId', 'ReceiptHandle'
|
|
|
|
@message[name] = @value
|
2011-02-05 23:17:47 -05:00
|
|
|
when 'Name'
|
|
|
|
@current_attribute_name = @value
|
|
|
|
when 'Value'
|
2011-07-19 16:10:26 -04:00
|
|
|
case @current_attribute_name
|
|
|
|
when 'ApproximateFirstReceiveTimestamp', 'SentTimestamp'
|
|
|
|
@message['Attributes'][@current_attribute_name] = Time.at(@value.to_i)
|
|
|
|
when 'ApproximateReceiveCount'
|
|
|
|
@message['Attributes'][@current_attribute_name] = @value.to_i
|
|
|
|
else
|
|
|
|
@message['Attributes'][@current_attribute_name] = @value
|
|
|
|
end
|
2011-02-05 23:17:47 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|