Class: SignatureGenerator::Inliner

Inherits:
Object
  • Object
show all
Defined in:
lib/signature_generator/inliner.rb

Constant Summary collapse

IMG_TAG =
/<img[^>]+src\s*=\s*"(https?:\/\/[^"]+\.(?:png|jpg|jpeg))"/

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(content) ⇒ Inliner

Returns a new instance of Inliner.



12
13
14
# File 'lib/signature_generator/inliner.rb', line 12

def initialize(content)
  @original_content = content
end

Instance Attribute Details

#original_contentObject (readonly)

Returns the value of attribute original_content.



10
11
12
# File 'lib/signature_generator/inliner.rb', line 10

def original_content
  @original_content
end

Instance Method Details

#inlinedObject



16
17
18
19
20
21
22
23
24
# 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