Parent

Class/Module Index [+]

Quicksearch

Fog::Storage::Rackspace::Metadata

Attributes

data[R]

@!attribute [rw] data @return [Hash] underlying data store for metadata class

parent[R]

@!attribute [rw] parent @return [Fog::Storage::Rackspace::Directory,Fog::Storage::Rackspace::File] the parent object of the metadata

Public Class Methods

from_headers(parent, headers) click to toggle source

Creates metadata object from Cloud File Headers @param [Fog::Storage::Rackspace::Directory,Fog::Storage::Rackspace::File] parent object of the metadata @param [Hash] headers Cloud File headers

# File lib/fog/rackspace/models/storage/metadata.rb, line 67
def self.from_headers(parent, headers)
  metadata = Metadata.new(parent)
  headers.each_pair do |k, v|
    key = metadata.send(:to_key, k)
    next unless key
    metadata.data[key] = v
  end
  metadata
end
new(parent, hash={}) click to toggle source

Initialize @param [Fog::Storage::Rackspace::Directory,Fog::Storage::Rackspace::File] parent object of the metadata @param [Hash] hash containing initial metadata values

# File lib/fog/rackspace/models/storage/metadata.rb, line 35
def initialize(parent, hash={})
  @data = hash || {}
  @deleted_hash = {}
  @parent = parent
end

Public Instance Methods

delete(key) click to toggle source

Delete key value pair from metadata @param [String] key to be deleted @return [Object] returns value for key @note Metadata must be deleted using this method in order to properly remove it from Cloud Files

# File lib/fog/rackspace/models/storage/metadata.rb, line 46
def delete(key)
  data.delete(key)
  @deleted_hash[key] = nil
end
method_missing(method, *args, &block) click to toggle source

Invoked by Ruby when obj is sent a message it cannot handle.

# File lib/fog/rackspace/models/storage/metadata.rb, line 85
def method_missing(method, *args, &block)
  data.send(method, *args, &block)
end
respond_to?(method_sym, include_private = false) click to toggle source

Returns true if method is implemented by Metadata class @param [Symbol] method_sym @param [Boolean] include_private

# File lib/fog/rackspace/models/storage/metadata.rb, line 80
def respond_to?(method_sym, include_private = false)
  super(method_sym, include_private) || data.respond_to?(method_sym, include_private)
end
to_headers() click to toggle source

Returns metadata in a format expected by Cloud Files @return [Hash] Metadata in a format expected by Cloud Files

# File lib/fog/rackspace/models/storage/metadata.rb, line 53
def to_headers
  headers = {}          
  h = data.merge(@deleted_hash) 
  h.each_pair do |k,v|
    key = to_header_key(k,v)
    headers[key] = v || DUMMY_VALUE 
  end
  
  headers
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.