Class: CarrierWave::Storage::CloudFiles::File
- Inherits:
-
Object
- Object
- CarrierWave::Storage::CloudFiles::File
- Defined in:
- lib/carrierwave/storage/cloud_files.rb
Instance Method Summary collapse
- #content_type ⇒ Object
- #content_type=(new_content_type) ⇒ Object
-
#delete ⇒ Object
Remove the file from Cloud Files.
-
#initialize(uploader, base, path) ⇒ File
constructor
A new instance of File.
-
#path ⇒ Object
Returns the current path/filename of the file on Cloud Files.
-
#read ⇒ Object
Reads the contents of the file from Cloud Files.
-
#store(data, headers = {}) ⇒ Object
Writes the supplied data into the object on Cloud Files.
-
#url ⇒ Object
Returns the url on the Cloud Files CDN.
Constructor Details
#initialize(uploader, base, path) ⇒ File
Returns a new instance of File.
29 30 31 32 33 |
# File 'lib/carrierwave/storage/cloud_files.rb', line 29 def initialize(uploader, base, path) @uploader = uploader @path = path @base = base end |
Instance Method Details
#content_type ⇒ Object
82 83 84 |
# File 'lib/carrierwave/storage/cloud_files.rb', line 82 def content_type cf_container.object(@path).content_type end |
#content_type=(new_content_type) ⇒ Object
86 87 88 |
# File 'lib/carrierwave/storage/cloud_files.rb', line 86 def content_type=(new_content_type) headers["content-type"] = new_content_type end |
#delete ⇒ Object
Remove the file from Cloud Files
62 63 64 |
# File 'lib/carrierwave/storage/cloud_files.rb', line 62 def delete cf_container.delete_object(@path) end |
#path ⇒ Object
Returns the current path/filename of the file on Cloud Files.
Returns
- String
-
A path
42 43 44 |
# File 'lib/carrierwave/storage/cloud_files.rb', line 42 def path @path end |
#read ⇒ Object
Reads the contents of the file from Cloud Files
Returns
- String
-
contents of the file
53 54 55 56 57 |
# File 'lib/carrierwave/storage/cloud_files.rb', line 53 def read object = cf_container.object(@path) @content_type = object.content_type object.data end |
#store(data, headers = {}) ⇒ Object
Writes the supplied data into the object on Cloud Files.
Returns
boolean
97 98 99 100 |
# File 'lib/carrierwave/storage/cloud_files.rb', line 97 def store(data,headers={}) object = cf_container.create_object(@path) object.write(data,headers) end |
#url ⇒ Object
Returns the url on the Cloud Files CDN. Note that the parent container must be marked as public for this to work.
Returns
- String
-
file’s url
74 75 76 77 78 79 80 |
# File 'lib/carrierwave/storage/cloud_files.rb', line 74 def url if @uploader.cloud_files_cdn_host "http://" + @uploader.cloud_files_cdn_host + "/" + @path else cf_container.object(@path).public_url end end |