Class: ActionMailer::InlinePreviewInterceptor
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
self,
Base64
|
|
Inherits: | Object |
Defined in: | actionmailer/lib/action_mailer/inline_preview_interceptor.rb |
Overview
Implements a mailer preview interceptor that converts image tag src attributes that use inline cid: style URLs to data: style URLs so that they are visible when previewing an HTML email in a web browser.
This interceptor is enabled by default. To disable it, delete it from the Base.preview_interceptors array:
ActionMailer::Base.preview_interceptors.delete(ActionMailer::InlinePreviewInterceptor)
Constant Summary
-
PATTERN =
# File 'actionmailer/lib/action_mailer/inline_preview_interceptor.rb', line 18/src=(?:"cid:[^"]"|'cid:[^']')/i
Class Method Summary
- .new(message) ⇒ InlinePreviewInterceptor constructor Internal use only
- .previewing_email(message) Internal use only
Instance Attribute Summary
- #message readonly private
Instance Method Summary
- #data_url(part) private
- #find_part(cid) private
- #html_part private
- #transform! Internal use only
Constructor Details
.new(message) ⇒ InlinePreviewInterceptor
This method is for internal use only.
# File 'actionmailer/lib/action_mailer/inline_preview_interceptor.rb', line 26
def initialize( ) # :nodoc: @message = end
Class Method Details
.previewing_email(message)
This method is for internal use only.
[ GitHub ]
# File 'actionmailer/lib/action_mailer/inline_preview_interceptor.rb', line 22
def self.previewing_email( ) # :nodoc: new( ).transform! end
Instance Attribute Details
#message (readonly, private)
[ GitHub ]# File 'actionmailer/lib/action_mailer/inline_preview_interceptor.rb', line 45
attr_reader :
Instance Method Details
#data_url(part) (private)
[ GitHub ]# File 'actionmailer/lib/action_mailer/inline_preview_interceptor.rb', line 51
def data_url(part) "data:#{part.mime_type};base64,#{strict_encode64(part.body.raw_source)}" end
#find_part(cid) (private)
[ GitHub ]# File 'actionmailer/lib/action_mailer/inline_preview_interceptor.rb', line 55
def find_part(cid) .all_parts.find { |p| p. && p.cid == cid } end
#html_part (private)
[ GitHub ]# File 'actionmailer/lib/action_mailer/inline_preview_interceptor.rb', line 47
def html_part @html_part ||= .html_part end
#transform!
This method is for internal use only.
[ GitHub ]