Class: Premailer::Rails::CustomizedPremailer

Inherits:
Premailer
  • Object
show all
Defined in:
lib/premailer/rails/premailer.rb,
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/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::Adaptor handles the discovery of a
  # suitable adaptor (Nokogiri or Hpricot). To make load_html work, an
  # adaptor 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(html, options)
end