1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
module Fog
module Parsers
module AWS
module SQS
class ReceiveMessage < Fog::Parsers::Base
def reset
@message = { 'Attributes' => {} }
@response = { 'ResponseMetadata' => {}, 'Message' => []}
end
def end_element(name)
case name
when 'RequestId'
@response['ResponseMetadata']['RequestId'] = @value
when 'Message'
@response['Message'] << @message
@message = { 'Attributes' => {} }
when 'Body', 'MD5OfBody', 'MessageId', 'ReceiptHandle'
@message[name] = @value
when 'Name'
@current_attribute_name = @value
when 'Value'
case @current_attribute_name
when 'ApproximateFirstReceiveTimestamp', 'SentTimestamp'
@message['Attributes'][@current_attribute_name] = Time.at(@value.to_i / 1000.0)
when 'ApproximateReceiveCount'
@message['Attributes'][@current_attribute_name] = @value.to_i
else
@message['Attributes'][@current_attribute_name] = @value
end
end
end
end
end
end
end
end
|