Sha256: 40f00bd8daab4d932e8cd1c93c446d8a85f17db13c005805aab35ad81e7b22a1
Contents?: true
Size: 1.41 KB
Versions: 15
Compression:
Stored size: 1.41 KB
Contents
module Fog module Parsers module Terremark module Shared class GetKeysList < Fog::Parsers::Base def reset @response = { 'Keys' => [] } @key = {} end def start_element(name, attributes) super case name when 'Id', 'Href', 'Name', 'IsDefault','FingerPrint' data = {} until attributes.empty? data[attributes.shift] = attributes.shift end @key[name] = data when 'Key' until attributes.empty? @key[attributes.shift] = attributes.shift end when 'Keys' keys_list = {} until attributes.empty? if attributes.first.is_a?(Array) attribute = attributes.shift keys_list[attribute.first] = attribute.last else keys_list[attributes.shift] = attributes.shift end end @response['href'] = keys_list['href'] end end def end_element(name) case name when 'Id', 'Href', 'Name', 'IsDefault','FingerPrint' @key[name] = value when 'Key' @response['Keys'] << @key @key = {} end end end end end end end
Version data entries
15 entries across 15 versions & 7 rubygems