Class: CarrierWave::Storage::TrueVault::File
- Inherits:
-
Object
- Object
- CarrierWave::Storage::TrueVault::File
- Includes:
- Utilities::Uri
- Defined in:
- lib/carrierwave/storage/truevault.rb
Instance Attribute Summary collapse
-
#path ⇒ Object
readonly
Returns the value of attribute path.
Instance Method Summary collapse
-
#content_type ⇒ Object
Lookup value for file content-type header.
-
#content_type=(new_content_type) ⇒ Object
Set non-default content-type header (default is file.content_type).
- #filename ⇒ Object
-
#initialize(uploader, base, path) ⇒ File
constructor
A new instance of File.
-
#read ⇒ Object
Read content of file from service.
-
#retrieve(identifier) ⇒ Object
Retrieve file from service.
-
#size ⇒ Object
Return size of file body.
-
#store(file) ⇒ Object
Write file to service.
- #truevault_attributes ⇒ Object
Constructor Details
#initialize(uploader, base, path) ⇒ File
Returns a new instance of File.
47 48 49 |
# File 'lib/carrierwave/storage/truevault.rb', line 47 def initialize(uploader, base, path) @uploader, @base, @path = uploader, base, path end |
Instance Attribute Details
#path ⇒ Object (readonly)
Returns the value of attribute path.
20 21 22 |
# File 'lib/carrierwave/storage/truevault.rb', line 20 def path @path end |
Instance Method Details
#content_type ⇒ Object
Lookup value for file content-type header
Returns
- String
-
value of content-type
32 33 34 |
# File 'lib/carrierwave/storage/truevault.rb', line 32 def content_type @content_type || file.content_type end |
#content_type=(new_content_type) ⇒ Object
Set non-default content-type header (default is file.content_type)
Returns
- String
-
returns new content type value
43 44 45 |
# File 'lib/carrierwave/storage/truevault.rb', line 43 def content_type=(new_content_type) @content_type = new_content_type end |
#filename ⇒ Object
22 23 24 |
# File 'lib/carrierwave/storage/truevault.rb', line 22 def filename Pathname.new(path).basename.to_s end |
#read ⇒ Object
Read content of file from service
Returns
- String
-
contents of file
57 58 59 |
# File 'lib/carrierwave/storage/truevault.rb', line 57 def read file end |
#retrieve(identifier) ⇒ Object
Retrieve file from service
Returns
- File
97 98 99 100 |
# File 'lib/carrierwave/storage/truevault.rb', line 97 def retrieve(identifier) @file = client.get_blob(@uploader.truevault_vault_id, model.blob_id) @file ||= @file.parsed_response end |
#size ⇒ Object
Return size of file body
Returns
- Integer
-
size of file body
68 69 70 |
# File 'lib/carrierwave/storage/truevault.rb', line 68 def size file.content_length end |
#store(file) ⇒ Object
Write file to service
Returns
- Boolean
-
true on success or raises error
83 84 85 86 87 88 |
# File 'lib/carrierwave/storage/truevault.rb', line 83 def store(file) truevault_file = file.to_file @content_type ||= file.content_type @file = client.create_blob(@uploader.truevault_vault_id, truevault_file) @uploader.truevault_attributes.merge!(@file.parsed_response) end |
#truevault_attributes ⇒ Object
72 73 74 |
# File 'lib/carrierwave/storage/truevault.rb', line 72 def truevault_attributes attributes end |