class CarrierWave::DataUri::Parser
Attributes
data[R]
encoder[R]
extension[R]
type[R]
Public Class Methods
new(data_uri)
click to toggle source
# File lib/carrierwave_data_uri/parser.rb, line 6 def initialize(data_uri) uri = URI::Data.new data_uri @type = uri.content_type @extension = @type.split('/')[1] @data = uri.data rescue URI::InvalidURIError raise InvalidData, 'Cannot parse data' end
Public Instance Methods
binary_data()
click to toggle source
# File lib/carrierwave_data_uri/parser.rb, line 15 def binary_data @data end
to_file(options = {})
click to toggle source
# File lib/carrierwave_data_uri/parser.rb, line 19 def to_file(options = {}) @file ||= begin file = Tempfile.new ['data_uri_upload', ".#{extension}"] file.binmode file << binary_data file.rewind file.original_filename = options[:original_filename] file.content_type = options[:content_type] file end end