Sha256: e918c8c42f8e6e0e9bfc17ebcbfaf8deafbcfd56daced9941a99adc3381c8604

Contents?: true

Size: 527 Bytes

Versions: 6

Compression:

Stored size: 527 Bytes

Contents

module Paperclip
  class DataUriAdapter < StringioAdapter
    def self.register
      Paperclip.io_adapters.register self do |target|
        String === target && target =~ REGEXP
      end
    end

    REGEXP = /\Adata:([-\w]+\/[-\w\+\.]+)?;base64,(.*)/m

    def initialize(target_uri, options = {})
      super(extract_target(target_uri), options)
    end

    private

    def extract_target(uri)
      data_uri_parts = uri.match(REGEXP) || []
      StringIO.new(Base64.decode64(data_uri_parts[2] || ""))
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
kt-paperclip-5.4.0 lib/paperclip/io_adapters/data_uri_adapter.rb
paperclip-6.1.0 lib/paperclip/io_adapters/data_uri_adapter.rb
paperclip-6.0.0 lib/paperclip/io_adapters/data_uri_adapter.rb
paperclip-5.3.0 lib/paperclip/io_adapters/data_uri_adapter.rb
paperclip-5.2.1 lib/paperclip/io_adapters/data_uri_adapter.rb
paperclip-5.2.0 lib/paperclip/io_adapters/data_uri_adapter.rb