Class: Getinline::Transformer

Inherits:
Object
  • Object
show all
Defined in:
lib/getinline/transformer.rb

Instance Method Summary collapse

Constructor Details

#initialize(raw_text) ⇒ Transformer

Returns a new instance of Transformer.



8
9
10
# File 'lib/getinline/transformer.rb', line 8

def initialize (raw_text)
  @raw_text = raw_text
end

Instance Method Details

#transformObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/getinline/transformer.rb', line 12

def transform
  matches = @raw_text.scan(/<%.+?%>/)
  tokenized_text = @raw_text.dup
  matches.each do |match|
    tokenized_text.sub!(match, TOKEN)
  end

  File.write(TOKENIZED_ERB_FILE_NAME, tokenized_text)

  @premailer = Premailer.new(TOKENIZED_ERB_FILE_NAME, :warn_level => Premailer::Warnings::SAFE)
  premailed_tokenized_text = @premailer.to_inline_css
  premailed_text = premailed_tokenized_text.dup

  matches.each do |match|
    premailed_text.sub!(TOKEN, match)
  end

  premailed_text
end