Blob Blame History Raw
commit 0210aad858840d4a1ce6ce2ebd921242b4b0dbed
Author: Bohuslav Kabrda <bkabrda@redhat.com>
Date:   Thu Jan 26 14:25:17 2012 +0100

    Make the metadata methods work with Ruby 1.9

diff --git a/lib/openstack/compute/metadata.rb b/lib/openstack/compute/metadata.rb
index ec4574e..43992ba 100644
--- a/lib/openstack/compute/metadata.rb
+++ b/lib/openstack/compute/metadata.rb
@@ -55,6 +55,7 @@ module Compute
         response = @connection.req('POST', @base_url, :data => json)
         @metadata = JSON.parse(response.body)['metadata']
       else
+        keys = [keys] unless keys.is_a? Array
         keys.each { |key|
           next if not @metadata.has_key?(key)
           json = JSON.generate(:meta => { key => @metadata[key] })
@@ -69,6 +70,7 @@ module Compute
         @metadata = JSON.parse(response.body)['metadata']
       else
         @metadata = {} if @metadata == nil
+        keys = [keys] unless keys.is_a? Array
         keys.each { |key|
           response = @connection.req('GET', "#{@base_url}/#{key}")
           next if response.code == "404"
@@ -80,12 +82,14 @@ module Compute
 
     def delete(keys)
       return if @metadata.nil?
+      keys = [keys] unless keys.is_a? Array
       keys.each { |key|
         @metadata.delete(key)
       }
     end
 
     def delete!(keys)
+      keys = [keys] unless keys.is_a? Array
       keys.each { |key|
         @connection.req('DELETE', "#{@base_url}/#{key}")
         @metadata.delete(key) if not @metadata.nil?