module SimpleEmailPreview

Constants

VERSION

Attributes

view_hooks[R]

@return [SimpleEmailPreview::ViewHooks]

Public Class Methods

before_render(&block) click to toggle source
# File lib/simple_email_preview.rb, line 73
def before_render(&block)
  inline_main_app_routes!
  ((@hooks ||= {})[:before_render] ||= []) << block
end
find_preview_classes(dir) click to toggle source
# File lib/simple_email_preview.rb, line 54
def find_preview_classes(dir)
  return [] unless File.directory?(dir)
  Dir.chdir(dir) { Dir['**/*_preview.rb'].map { |p| p.sub(/\.rb$/, '').camelize } }
end
inline_main_app_routes!() click to toggle source
# File lib/simple_email_preview.rb, line 78
def inline_main_app_routes!
  unless ::SimpleEmailPreview::EmailsController.instance_variable_get(:@inlined_routes)
    ::SimpleEmailPreview::EmailsController.helper ::SimpleEmailPreview::MainAppRouteDelegator
    ::SimpleEmailPreview::EmailsController.instance_variable_set(:@inlined_routes, true)
  end
end
layout=(layout) click to toggle source
# File lib/simple_email_preview.rb, line 59
def layout=(layout)
  [::SimpleEmailPreview::ApplicationController, ::SimpleEmailPreview::EmailsController].each { |ctrl| ctrl.layout layout }
  if layout && layout !~ %r{^simple_email_preview/}
    # inline application routes if using an app layout
    inline_main_app_routes!
  end
end
preview_classes=(classes) click to toggle source
# File lib/simple_email_preview.rb, line 49
def preview_classes=(classes)
  @preview_classes = classes
  SimpleEmailPreview::Preview.load_all(classes)
end
run_before_render(mail, preview) click to toggle source
# File lib/simple_email_preview.rb, line 67
def run_before_render(mail, preview)
  (defined?(@hooks) && @hooks[:before_render] || []).each do |block|
    block.call(mail, preview)
  end
end
setup() { |self| ... } click to toggle source
# File lib/simple_email_preview.rb, line 85
def setup
  yield self
end