From 09e6bcd34e03138cf09c96abb9fbedcca0fccc7a Mon Sep 17 00:00:00 2001 From: Rupak Ganguly Date: Tue, 15 May 2012 12:07:45 -0400 Subject: [PATCH] Minor fix and add a destroy method. --- lib/fog/hp/models/compute/metadata.rb | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/lib/fog/hp/models/compute/metadata.rb b/lib/fog/hp/models/compute/metadata.rb index b1df0b48a..dbf52dd2b 100644 --- a/lib/fog/hp/models/compute/metadata.rb +++ b/lib/fog/hp/models/compute/metadata.rb @@ -16,10 +16,19 @@ module Fog def all requires :parent - metadata = connection.list_metadata(collection_name, @parent.id).body['metadata'] - metas = [] - metadata.each_pair {|k,v| metas << {"key" => k, "value" => v} } - load(metas) + if @parent.id + metadata = connection.list_metadata(collection_name, @parent.id).body['metadata'] + metas = [] + metadata.each_pair {|k,v| metas << {"key" => k, "value" => v} } + load(metas) + end + end + + def destroy(key) + requires :parent + connection.delete_meta(collection_name, @parent.id, key) + rescue Fog::Compute::HP::NotFound + nil end def get(key) @@ -32,9 +41,9 @@ module Fog nil end - def update(data=nil) + def new(attributes = {}) requires :parent - connection.update_metadata(collection_name, @parent.id, meta_hash(data)) + super({ :parent => @parent }.merge!(attributes)) end def set(data=nil) @@ -42,11 +51,12 @@ module Fog connection.set_metadata(collection_name, @parent.id, meta_hash(data)) end - def new(attributes = {}) + def update(data=nil) requires :parent - super({ :parent => @parent }.merge!(attributes)) + connection.update_metadata(collection_name, @parent.id, meta_hash(data)) end + private def meta_hash(data=nil) if data.nil?