class SignatureGenerator::Inliner
Constants
- IMG_TAG
Attributes
original_content[R]
Public Class Methods
new(content)
click to toggle source
# File lib/signature_generator/inliner.rb, line 12 def initialize(content) @original_content = content end
Public Instance Methods
inlined()
click to toggle source
# File lib/signature_generator/inliner.rb, line 16 def inlined result = original_content.dup url_candidates = result.scan(IMG_TAG).flatten url_candidates.each do |url| content64 = load_file url result.gsub! url, content64 end result end
Private Instance Methods
load_file(url)
click to toggle source
# File lib/signature_generator/inliner.rb, line 28 def load_file(url) content = open(url) {|f| f.read } ext = url.gsub /^.*\.([^\.]+)\s*$/, '\1' content64 = Base64.strict_encode64 content 'data:image/%s;base64,%s' % [ext, content64] rescue EasyAppHelper.logger.warn SignatureGenerator::Error, "Cannot load file '#{file}'" end