module Fog module Storage class InternetArchive require 'fog/internet_archive/parsers/storage/cors_configuration' private def self.hash_to_cors(cors) data = "\n" [cors['CORSConfiguration']].flatten.compact.each do |rule| data << " \n" ['ID', 'MaxAgeSeconds'].each do |key| data << " <#{key}>#{rule[key]}\n" if rule[key] end ['AllowedOrigin', 'AllowedMethod', 'AllowedHeader', 'ExposeHeader'].each do |key| [rule[key]].flatten.compact.each do |value| data << " <#{key}>#{value}\n" end end data << " \n" end data << "" data end def self.cors_to_hash(cors_xml) parser = Fog::Parsers::Storage::InternetArchive::CorsConfiguration.new Nokogiri::XML::SAX::Parser.new(parser).parse(cors_xml) parser.response end end end end