1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/terremark/parsers/shared/network.rb

51 lines
1.2 KiB
Ruby

module Fog
module Parsers
module Terremark
module Shared
class Network < Fog::Parsers::Base
def reset
@response = {
"links" => []
}
end
def start_element(name,attributes=[])
super
case name
when "Network"
until attributes.empty?
val = attributes.shift
if val.is_a?(String)
@response[val] = attributes.shift
end
end
if @response.has_key?("name")
@response["subnet"] = @response["name"]
end
if @response.has_key?("href")
@response["id"] = @response["href"].split("/").last
end
when "Link"
link = {}
until attributes.empty?
link[attributes.shift] = attributes.shift
end
@response["links"] << link
end
end
def end_element(name)
case name
when "Gateway", "Netmask", "FenceMode"
@response[name.downcase] = value
end
end
end
end
end
end
end