Blame openstack-compute-fix-tests-for-ruby-1.9.patch

a54adfc
commit 0210aad858840d4a1ce6ce2ebd921242b4b0dbed
a54adfc
Author: Bohuslav Kabrda <bkabrda@redhat.com>
a54adfc
Date:   Thu Jan 26 14:25:17 2012 +0100
a54adfc
a54adfc
    Make the metadata methods work with Ruby 1.9
a54adfc
a54adfc
diff --git a/lib/openstack/compute/metadata.rb b/lib/openstack/compute/metadata.rb
a54adfc
index ec4574e..43992ba 100644
a54adfc
--- a/lib/openstack/compute/metadata.rb
a54adfc
+++ b/lib/openstack/compute/metadata.rb
a54adfc
@@ -55,6 +55,7 @@ module Compute
a54adfc
         response = @connection.req('POST', @base_url, :data => json)
a54adfc
         @metadata = JSON.parse(response.body)['metadata']
a54adfc
       else
a54adfc
+        keys = [keys] unless keys.is_a? Array
a54adfc
         keys.each { |key|
a54adfc
           next if not @metadata.has_key?(key)
a54adfc
           json = JSON.generate(:meta => { key => @metadata[key] })
a54adfc
@@ -69,6 +70,7 @@ module Compute
a54adfc
         @metadata = JSON.parse(response.body)['metadata']
a54adfc
       else
a54adfc
         @metadata = {} if @metadata == nil
a54adfc
+        keys = [keys] unless keys.is_a? Array
a54adfc
         keys.each { |key|
a54adfc
           response = @connection.req('GET', "#{@base_url}/#{key}")
a54adfc
           next if response.code == "404"
a54adfc
@@ -80,12 +82,14 @@ module Compute
a54adfc
 
a54adfc
     def delete(keys)
a54adfc
       return if @metadata.nil?
a54adfc
+      keys = [keys] unless keys.is_a? Array
a54adfc
       keys.each { |key|
a54adfc
         @metadata.delete(key)
a54adfc
       }
a54adfc
     end
a54adfc
 
a54adfc
     def delete!(keys)
a54adfc
+      keys = [keys] unless keys.is_a? Array
a54adfc
       keys.each { |key|
a54adfc
         @connection.req('DELETE', "#{@base_url}/#{key}")
a54adfc
         @metadata.delete(key) if not @metadata.nil?