class CarrierWave::Storage::CloudFiles

Uploads things to Rackspace Cloud Files webservices using the Rackspace libraries (cloudfiles gem). In order for CarrierWave to connect to Cloud Files, you’ll need to specify an username, api key and container

CarrierWave.configure do |config|
  config.cloud_files_username = "xxxxxx"
  config.cloud_files_api_key = "xxxxxx"
  config.cloud_files_container = "my_container"
end

You can optionally include your CDN host name in the configuration. This is highly recommended, as without it every request requires a lookup of this information.

config.cloud_files_cdn_host = "c000000.cdn.rackspacecloud.com"

Public Instance Methods

retrieve!(identifier) click to toggle source

Do something to retrieve the file

@param [String] identifier uniquely identifies the file

identifier (String)

uniquely identifies the file

Returns

CarrierWave::Storage::CloudFiles::File

the stored file

# File lib/carrierwave/storage/cloud_files.rb, line 160
def retrieve!(identifier)
  CarrierWave::Storage::CloudFiles::File.new(uploader, self, uploader.store_path(identifier))
end
store!(file) click to toggle source

Store the file on Cloud Files

Parameters

file (CarrierWave::SanitizedFile)

the file to store

Returns

CarrierWave::Storage::CloudFiles::File

the stored file

# File lib/carrierwave/storage/cloud_files.rb, line 143
def store!(file)
  cloud_files_options = {'Content-Type' => file.content_type}
  f = CarrierWave::Storage::CloudFiles::File.new(uploader, self, uploader.store_path)
  f.store(file.read,cloud_files_options)
  f
end