Sha256: 1fe7707dbee03379429d1ea40180878be4b491d95fd4d54a83062b50d97eb43f
Contents?: true
Size: 1.69 KB
Versions: 53
Compression:
Stored size: 1.69 KB
Contents
module Fog module Parsers module Terremark module Shared class InternetService < Fog::Parsers::Base def reset @in_public_ip_address = false @response = { 'PublicIpAddress' => {} } end def start_element(name, attributes) super case name when 'Href' data = {} until attributes.empty? data[attributes.shift] = attributes.shift end if @in_public_ip_address @response['PublicIpAddress'][name] = data else @response[name] = data end when 'PublicIpAddress' @in_public_ip_address = true end end def end_element(name) case name when 'Description', 'Protocol' @response[name] = value when 'Enabled' if value == 'false' @response[name] = false else @response[name] = true end when 'Id' if @in_public_ip_address @response['PublicIpAddress'][name] = value.to_i else @response[name] = value.to_i end when 'Name' if @in_public_ip_address @response['PublicIpAddress'][name] = value else @response[name] = value end when 'Port', 'Timeout' @response[name] = value.to_i when 'PublicIpAddress' @in_public_ip_address = false end end end end end end end
Version data entries
53 entries across 53 versions & 15 rubygems