Methods

Class/Module Index [+]

Quicksearch

Fog::Storage::Rackspace::Directories

Public Instance Methods

all() click to toggle source

Returns list of directories @return [Fog::Storage::Rackspace::Directories] Retrieves a list directories. @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404 @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400 @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500 @raise [Fog::Storage::Rackspace::ServiceError] @note Fog's current implementation only returns 10,000 directories @see docs.rackspace.com/files/api/v1/cf-devguide/content/View_List_of_Containers-d1e1100.html

# File lib/fog/rackspace/models/storage/directories.rb, line 20
def all
  data = service.get_containers.body
  load(data)
end
get(key, options = {}) click to toggle source

Retrieves directory @param [String] key of directory @param options [Hash]: @option options [String] cdn_cname CDN CNAME used when calling Directory#public_url @return [Fog::Storage::Rackspace::Directory] @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404 @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400 @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500 @raise [Fog::Storage::Rackspace::ServiceError] @example

directory = fog.directories.get('video', :cdn_cname => 'http://cdn.lunenburg.org')
files = directory.files
files.first.public_url

@see Directory#public_url @see docs.rackspace.com/files/api/v1/cf-devguide/content/View-Container_Info-d1e1285.html

# File lib/fog/rackspace/models/storage/directories.rb, line 41
def get(key, options = {})
  data = service.get_container(key, options)
  directory = new(:key => key, :cdn_cname => options[:cdn_cname])
  for key, value in data.headers
    if ['X-Container-Bytes-Used', 'X-Container-Object-Count'].include?(key)
      directory.merge_attributes(key => value)
    end
  end
  
  directory.metadata = Metadata.from_headers(directory, data.headers)
  directory.files.merge_attributes(options)
  directory.files.instance_variable_set(:@loaded, true)
  
  data.body.each do |file|
    directory.files << directory.files.new(file)
  end
  directory
rescue Fog::Storage::Rackspace::NotFound
  nil
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.