class Fog::Storage::HP::Metadata

Public Instance Methods

all() click to toggle source
# File lib/fog/hp/models/storage/metadata.rb, line 13
def all
  requires :parent
  if @parent.key
    metadata = service.head_container(@parent.key).headers
    metas = []
    metadata.each_pair {|k,v| metas << {'key' => k, 'value' => v} }
    load(metas)
  end
rescue Fog::Storage::HP::NotFound
  nil
end
destroy() click to toggle source
# File lib/fog/hp/models/storage/metadata.rb, line 25
def destroy
  false
end
get(key) click to toggle source
# File lib/fog/hp/models/storage/metadata.rb, line 29
def get(key)
  requires :parent
  if @parent.key
    metadata = service.head_container(@parent.key).headers
    metas = []
    metas << {'key' => key, 'value' => metadata[key]}
    new(metas[0])
  end
rescue Fog::Storage::HP::NotFound
  nil
end
new(attributes = {}) click to toggle source
Calls superclass method
# File lib/fog/hp/models/storage/metadata.rb, line 41
def new(attributes = {})
  requires :parent
  super({ :parent => @parent }.merge!(attributes))
end
set(data=nil) click to toggle source
# File lib/fog/hp/models/storage/metadata.rb, line 46
def set(data=nil)
  requires :parent
  if @parent.key
    service.put_container(@parent.key, meta_hash(data))
  end
end
update(data=nil) click to toggle source
# File lib/fog/hp/models/storage/metadata.rb, line 53
def update(data=nil)
  requires :parent
  if @parent.key
    service.post_container(@parent.key, meta_hash(data))
  end
end

Private Instance Methods

meta_hash(data=nil) click to toggle source
# File lib/fog/hp/models/storage/metadata.rb, line 61
def meta_hash(data=nil)
  if data.nil?
    data={}
    self.each do |meta|
      if meta.is_a?(Fog::Storage::HP::Meta) then
        data.store(meta.key, meta.value)
      else
        data.store(meta['key'], meta['value'])
      end
    end
  end
  data
end