Sha256: f970b86c80b59dd708f2f7aae4b68fd413f2d249d4325e369b5c9643908f9135

Contents?: true

Size: 458 Bytes

Versions: 6

Compression:

Stored size: 458 Bytes

Contents

module Prawn::SVG::Loaders
  class Data
    REGEXP = %r{\Adata:image/(png|jpeg|svg\+xml);base64(;[a-z0-9]+)*,}i.freeze

    def from_url(url)
      return if url[0..4].downcase != 'data:'

      matches = url.match(REGEXP)
      if matches.nil?
        raise Prawn::SVG::UrlLoader::Error,
          'prawn-svg only supports base64-encoded image/png, image/jpeg, and image/svg+xml data URLs'
      end

      matches.post_match.unpack1('m')
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
prawn-svg-0.37.0 lib/prawn/svg/loaders/data.rb
prawn-svg-0.36.2 lib/prawn/svg/loaders/data.rb
prawn-svg-0.36.1 lib/prawn/svg/loaders/data.rb
prawn-svg-0.36.0 lib/prawn/svg/loaders/data.rb
prawn-svg-0.35.1 lib/prawn/svg/loaders/data.rb
prawn-svg-0.35.0 lib/prawn/svg/loaders/data.rb