Class: Premailer::Rails::CustomizedPremailer

Inherits:
Premailer
  • Object
show all
Defined in:
lib/premailer/rails/customized_premailer.rb

Instance Method Summary collapse

Constructor Details

#initialize(html) ⇒ CustomizedPremailer

Returns a new instance of CustomizedPremailer.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/premailer/rails/customized_premailer.rb', line 4

def initialize(html)
  # In order to pass the CSS as string to super it is necessary to access
  # the parsed HTML beforehand. To do so, the adapter needs to be
  # initialized. The ::Premailer::Adapter handles the discovery of
  # a suitable adapter. To make load_html work, an adapter needs to be
  # included and @options[:with_html_string] needs to be set. For further
  # information, refer to ::Premailer#initialize.
  @options = Rails.config.merge(with_html_string: true)
  Premailer.send(:include, Adapter.find(Adapter.use))
  doc = load_html(html)
  options = @options.merge(css_string: CSSHelper.css_for_doc(doc))

  super(doc.to_s, options)
end