module Roda::RodaPlugins::MailerPreview::InstanceMethods

Public Instance Methods

preview(mail) click to toggle source

Pass an instance of Mail to render a preview

r.on "previews" do
  r.is "signup-email" do
    mail = YourMailer.mail("/signup-email")
    preview(mail)
  end
end
# File lib/roda/plugins/mailer_preview.rb, line 43
def preview(mail)
  acceptable_headers = %w(Date From To Subject)

  headers = mail.header_fields.select do |field|
    acceptable_headers.include?(field.name)
  end

  render(path: __dir__ + "/preview.erb", locals: { mail: mail, headers: headers })
end
preview_index(urls, path: request.path) click to toggle source

Pass an array of paths to render an index of available previews

r.is "previews" do
  available_previews = ["/previews/signup-email"]
  preview_index(available_previews)
end
# File lib/roda/plugins/mailer_preview.rb, line 59
def preview_index(urls, path: request.path)
  render(path: __dir__ + "/index.erb", locals: { urls: urls, path: path })
end