|
|
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?
|