Class: RightAws::Ec2::QEc2DescribeSnapshotsParser

Inherits:
RightAWSParser show all
Defined in:
lib/ec2/right_ec2_ebs.rb

Overview


PARSERS: EBS - Snapshots

Constant Summary

Constants inherited from RightAWSParser

RightAWSParser::DEFAULT_XML_LIBRARY

Instance Attribute Summary

Attributes inherited from RightAWSParser

#full_tag_name, #result, #tag, #xml_lib, #xmlpath

Instance Method Summary collapse

Methods inherited from RightAWSParser

#initialize, #method_missing, #parse, #tag_end, #tag_start, #tagtext, #text, xml_lib, xml_lib=

Constructor Details

This class inherits a constructor from RightAws::RightAWSParser

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class RightAws::RightAWSParser

Instance Method Details

#resetObject



456
457
458
# File 'lib/ec2/right_ec2_ebs.rb', line 456

def reset
  @result = []
end

#tagend(name) ⇒ Object



435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
# File 'lib/ec2/right_ec2_ebs.rb', line 435

def tagend(name)
  case name
  when 'volumeId'    then @item[:aws_volume_id]   = @text
  when 'snapshotId'  then @item[:aws_id]          = @text
  when 'status'      then @item[:aws_status]      = @text
  when 'startTime'   then @item[:aws_started_at]  = @text
  when 'progress'    then @item[:aws_progress]    = @text
  when 'description' then @item[:aws_description] = @text
  when 'ownerId'     then @item[:aws_owner]       = @text
  when 'volumeSize'  then @item[:aws_volume_size] = @text.to_i
  when 'ownerAlias'  then @item[:owner_alias]     = @text
  else
    case full_tag_name
    when %r{/tagSet/item/key$}         then @aws_tag[:key]                = @text
    when %r{/tagSet/item/value$}       then @aws_tag[:value]              = @text
    when %r{/tagSet/item$}             then @item[:tags][@aws_tag[:key]]  = @aws_tag[:value]
    when %r{CreateSnapshotResponse$},
         %r{/snapshotSet/item$}        then @result << @item
    end
  end
end

#tagstart(name, attributes) ⇒ Object

:nodoc:



428
429
430
431
432
433
434
# File 'lib/ec2/right_ec2_ebs.rb', line 428

def tagstart(name, attributes)
  case full_tag_name
  when %r{CreateSnapshotResponse$},
       %r{/snapshotSet/item$}  then @item = { :tags => {} }
  when %r{/tagSet/item$}       then @aws_tag = {}
  end
end