Class: CarrierWave::Storage::Base64::File
- Inherits:
-
Object
- Object
- CarrierWave::Storage::Base64::File
- Defined in:
- lib/carrierwave/storage/base64.rb
Instance Method Summary collapse
- #content_type ⇒ Object
- #data ⇒ Object
- #data=(v) ⇒ Object
- #delete ⇒ Object
-
#initialize(uploader) ⇒ File
constructor
A new instance of File.
- #path ⇒ Object
- #read ⇒ Object
- #store(file) ⇒ Object
- #url ⇒ Object
Constructor Details
#initialize(uploader) ⇒ File
Returns a new instance of File.
9 10 11 |
# File 'lib/carrierwave/storage/base64.rb', line 9 def initialize(uploader) @uploader = uploader end |
Instance Method Details
#content_type ⇒ Object
37 38 39 |
# File 'lib/carrierwave/storage/base64.rb', line 37 def content_type self.data[:content_type] end |
#data ⇒ Object
50 51 52 |
# File 'lib/carrierwave/storage/base64.rb', line 50 def data @uploader.model.send("#{@uploader.mounted_as}_data") || {} end |
#data=(v) ⇒ Object
41 42 43 44 45 46 47 48 |
# File 'lib/carrierwave/storage/base64.rb', line 41 def data=(v) m, f = @uploader.model, @uploader.mounted_as updated = m.send("#{f}_data") != v if updated m.send("#{f}_data=", v) m.save end end |
#delete ⇒ Object
22 23 24 |
# File 'lib/carrierwave/storage/base64.rb', line 22 def delete # TODO clear the field? end |
#path ⇒ Object
13 14 15 |
# File 'lib/carrierwave/storage/base64.rb', line 13 def path nil end |
#read ⇒ Object
17 18 19 20 |
# File 'lib/carrierwave/storage/base64.rb', line 17 def read d = self.data[:data] d ? ::Base64.decode64(d) : nil end |
#store(file) ⇒ Object
31 32 33 34 35 |
# File 'lib/carrierwave/storage/base64.rb', line 31 def store(file) self.data = { :data => "#{::Base64.encode64(file.read)}", :content_type => file.content_type } end |
#url ⇒ Object
26 27 28 29 |
# File 'lib/carrierwave/storage/base64.rb', line 26 def url d = self.data[:data] d ? "data:#{self.data[:content_type] || 'image/png'};base64,#{d}" : nil end |