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?