lib/roadie/rails/mail_inliner.rb
# frozen_string_literal: true
module Roadie
module Rails
class MailInliner
attr_reader :email, :options
def initialize(email, options)
@email = email
@options = options
end
def execute
if options
improve_body if %r{^text/html}.match?(email.content_type)
improve_html_part(email.html_part) if email.html_part
end
email
end
private
def improve_body
email.body = transform_html(email.body.decoded)
end
def improve_html_part(html_part)
html_part.body = transform_html(html_part.body.decoded)
end
def transform_html(old_html)
DocumentBuilder.build(old_html, options).transform
end
end
end
end