123456789_123456789_123456789_123456789_123456789_

Class: ActionMailer::Preview

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Inherits: Object
Defined in: actionmailer/lib/action_mailer/preview.rb

Class Method Summary

::ActiveSupport::DescendantsTracker - Extended

Class Method Details

.all

Returns all mailer preview classes

[ GitHub ]

  
# File 'actionmailer/lib/action_mailer/preview.rb', line 56

def all
  load_previews if descendants.empty?
  descendants
end

.call(email)

Returns the mail object for the given email name. The registered preview interceptors will be informed so that they can transform the message as they would if the mail was actually being delivered.

[ GitHub ]

  
# File 'actionmailer/lib/action_mailer/preview.rb', line 64

def call(email)
  preview = self.new
  message = preview.public_send(email)
  inform_preview_interceptors(message)
  message
end

.email_exists?(email) ⇒ Boolean

Returns true if the email exists

[ GitHub ]

  
# File 'actionmailer/lib/action_mailer/preview.rb', line 77

def email_exists?(email)
  emails.include?(email)
end

.emails

Returns all of the available email previews

[ GitHub ]

  
# File 'actionmailer/lib/action_mailer/preview.rb', line 72

def emails
  public_instance_methods(false).map(&:to_s).sort
end

.exists?(preview) ⇒ Boolean

Returns true if the preview exists

[ GitHub ]

  
# File 'actionmailer/lib/action_mailer/preview.rb', line 82

def exists?(preview)
  all.any?{ |p| p.preview_name == preview }
end

.find(preview)

Find a mailer preview by its underscored class name

[ GitHub ]

  
# File 'actionmailer/lib/action_mailer/preview.rb', line 87

def find(preview)
  all.find{ |p| p.preview_name == preview }
end

.preview_name

Returns the underscored name of the mailer preview without the suffix

[ GitHub ]

  
# File 'actionmailer/lib/action_mailer/preview.rb', line 92

def preview_name
  name.sub(/Preview$/, '').underscore
end