Class: Prawn::SVG::Loaders::Data

Inherits:
Object
  • Object
show all
Defined in:
lib/prawn/svg/loaders/data.rb

Constant Summary collapse

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

Instance Method Summary collapse

Instance Method Details

#from_url(url) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/prawn/svg/loaders/data.rb', line 5

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