class Fog::Parsers::Compute::AWS::DescribeVolumeStatus

Public Instance Methods

end_element(name) click to toggle source
# File lib/fog/aws/parsers/compute/describe_volume_status.rb, line 33
def end_element(name)
  case name
  #Simple closers
  when 'details'
    @inside = nil
  when 'volumeStatus'
    @inside = nil
  when 'eventSet'
    @inside = nil
  when 'actionSet'
    @inside = nil
  when 'item'
    @response['volumeStatusSet'] << @volume if @inside.nil?
  #Top level
  when 'nextToken', 'requestId'
    @response[name] = value
  # Volume Stuff
  when 'volumeId', 'availabilityZone'
    @volume[name] = value
  #The mess...
  when 'name', 'status'
    case @inside
    when :details
      @volume['volumeStatus']['details'] << {name => value }
    when :volume_status
      @volume['volumeStatus'][name] = value
    end
  when 'code', 'eventId', 'eventType', 'description'
    @volume["#{@inside}Set"][name] = value.strip
  when 'notAfter', 'notBefore'
    @volume["#{@inside}Set"][name] = Time.parse(value)
  end
end
new_volume() click to toggle source
# File lib/fog/aws/parsers/compute/describe_volume_status.rb, line 7
def new_volume
  @volume = { 'volumeStatus' => { 'details' => [] }, 'eventSet' => {}, 'actionSet' => {} }
end
reset() click to toggle source
# File lib/fog/aws/parsers/compute/describe_volume_status.rb, line 11
def reset
  @volume_status = {}
  @response = { 'volumeStatusSet' => [] }
  @inside = nil
end
start_element(name, attrs=[]) click to toggle source
# File lib/fog/aws/parsers/compute/describe_volume_status.rb, line 17
def start_element(name, attrs=[])
  super
  case name
  when 'item'
    new_volume if @inside.nil?
  when 'volumeStatus'
    @inside = :volume_status
  when 'details'
    @inside = :details
  when 'eventSet'
    @inside = :event
  when 'actionSet'
    @inside = :action
  end
end