class Fog::Parsers::Terremark::Vapp

Public Instance Methods

end_element(name) click to toggle source
# File lib/fog/parsers/terremark/vapp.rb, line 25
def end_element(name)
  case name
  when "IpAddress"
    @response["IpAddress"] = value
  when "Description"
    if @in_operating_system
      @response["OperatingSystem"][name] = value
      @in_operating_system = false
    end
  when "ResourceType"
    @resource_type = value
    case value
    when "3"
      @get_cpu = true # cpu
    when "4"  # memory
      @get_ram = true
    when "17" # disks
      @get_disks = true
    end
  when "VirtualQuantity"
    case @resource_type
    when "3"
      @response["VirtualHardware"]["cpu"] = value
    when "4"
      @response["VirtualHardware"]["ram"] = value
    when "17"
      @response["VirtualHardware"]["disks"] ||= []
      @response["VirtualHardware"]["disks"] << value
    end
  end
end
reset() click to toggle source
# File lib/fog/parsers/terremark/vapp.rb, line 5
def reset
  @response = { "Links" => [], "VirtualHardware" => {}, "OperatingSystem" => {} }
  @in_operating_system = false
  @resource_type = nil
end
start_element(name, attributes) click to toggle source
Calls superclass method
# File lib/fog/parsers/terremark/vapp.rb, line 11
def start_element(name, attributes)
  super
  case name
  when "Link"
    link = extract_attributes(attributes)
    @response["Links"] << link
  when "OperatingSystemSection"
    @in_operating_system = true
  when "VApp"
    vapp = extract_attributes(attributes)
    @response.merge!(vapp.reject { |key, _value| !["href", "name", "size", "status", "type"].include?(key) })
  end
end