Module: ActiveMail::Quality::PreviewRenderer
- Extended by:
- T::Sig
- Defined in:
- lib/activemail/quality/preview_renderer.rb
Class Method Summary collapse
- .all ⇒ Object
- .html_body(message) ⇒ Object
- .key(preview, email) ⇒ Object
- .render(preview, email) ⇒ Object
- .render_to_disk(preview, email, output_root) ⇒ Object
Class Method Details
.all ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/activemail/quality/preview_renderer.rb', line 38 def all return [] unless defined?(ActionMailer::Preview) ActionMailer::Preview.all.flat_map do |preview| preview.emails.map { |email| [preview, email] } end end |
.html_body(message) ⇒ Object
49 50 51 52 53 54 55 |
# File 'lib/activemail/quality/preview_renderer.rb', line 49 def html_body() mail = .respond_to?(:message) ? . : body = mail.html_part&.body || single_part_html_body(mail) return '' unless body body.respond_to?(:decoded) ? body.decoded : body.to_s end |
.key(preview, email) ⇒ Object
23 24 25 |
# File 'lib/activemail/quality/preview_renderer.rb', line 23 def key(preview, email) "#{preview.preview_name}##{email}" end |
.render(preview, email) ⇒ Object
16 17 18 |
# File 'lib/activemail/quality/preview_renderer.rb', line 16 def render(preview, email) html_body(preview.call(email)) end |
.render_to_disk(preview, email, output_root) ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/activemail/quality/preview_renderer.rb', line 28 def render_to_disk(preview, email, output_root) dir = Pathname(output_root).join(preview.preview_name) FileUtils.mkdir_p(dir) path = dir.join("#{email}.html") File.write(path, render(preview, email)) path end |