class CarrierWaveBase64Uploader::Base64StringIO
Attributes
file_extension[RW]
file_name[RW]
Public Class Methods
new(encoded_file, file_name_proc_or_string)
click to toggle source
Calls superclass method
# File lib/carrier_wave_base64_uploader/base64_string_io.rb, line 7 def initialize(encoded_file, file_name_proc_or_string) description, encoded_bytes = encoded_file.split(',') raise ArgumentError unless encoded_bytes raise ArgumentError if encoded_bytes.eql?('(null)') @file_name = extract_file_name(file_name_proc_or_string) @file_extension = get_file_extension description bytes = ::Base64.decode64 encoded_bytes super bytes end
Public Instance Methods
original_filename()
click to toggle source
# File lib/carrier_wave_base64_uploader/base64_string_io.rb, line 20 def original_filename File.basename("#{@file_name}.#{@file_extension}") end
Private Instance Methods
extract_file_name(proc_or_string)
click to toggle source
# File lib/carrier_wave_base64_uploader/base64_string_io.rb, line 35 def extract_file_name(proc_or_string) # if proc_or_string.is_a?(Proc) proc_or_string.call # else # proc_or_string # end end
get_file_extension(description)
click to toggle source
# File lib/carrier_wave_base64_uploader/base64_string_io.rb, line 26 def get_file_extension(description) content_type = description.split(';base64').first mime_type = MIME::Types[content_type].first raise ArgumentError, "Unknown MIME type: #{content_type}" unless mime_type mime_type.preferred_extension end