Module: PrettyMailer
- Defined in:
- lib/pretty_mailer.rb,
lib/pretty_mailer/html.rb,
lib/pretty_mailer/version.rb,
lib/pretty_mailer/asset_parser.rb
Defined Under Namespace
Classes: AssetParser, HTML
Constant Summary
collapse
- VERSION =
"0.0.3"
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
9
10
11
|
# File 'lib/pretty_mailer.rb', line 9
def included base
base.alias_method_chain :collect_responses_and_parts_order, :inline_styles
end
|
Instance Method Details
#apply_inline_styles(response, stylesheets) ⇒ Object
29
30
31
32
33
34
35
36
37
|
# File 'lib/pretty_mailer.rb', line 29
def apply_inline_styles response, stylesheets
body = HTML.new response[:body]
AssetParser.new(stylesheets: [*stylesheets]).each_selector do |selector, declarations, specificity|
body.add_rules selector, declarations, specificity
end
body.reduce_specificities!
response[:body] = body.to_s
response
end
|
#collect_responses_and_parts_order_with_inline_styles(headers) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/pretty_mailer.rb', line 15
def collect_responses_and_parts_order_with_inline_styles
responses, parts_order = collect_responses_and_parts_order_without_inline_styles
unless [:css].blank?
responses.map! do |response|
if response[:content_type] == 'text/html'
apply_inline_styles response, [:css]
else
response
end
end
end
[responses, parts_order]
end
|