module RailsEmailPreview

simply require this file to enable Comfortable Mexican Sofa integration read more github.com/glebm/rails_email_preview/wiki/Edit-Emails-with-Comfortable-Mexican-Sofa

Constants

VERSION

Attributes

view_hooks[R]

@return [RailsEmailPreview::ViewHooks]

Public Class Methods

before_render(&block) click to toggle source
# File lib/rails_email_preview.rb, line 74
def before_render(&block)
  ((@hooks ||= {})[:before_render] ||= []) << block
end
find_preview_classes(dir) click to toggle source
# File lib/rails_email_preview.rb, line 55
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/rails_email_preview.rb, line 78
def inline_main_app_routes!
  unless ::RailsEmailPreview::EmailsController.instance_variable_get(:@inlined_routes)
    ::RailsEmailPreview::EmailsController.helper ::RailsEmailPreview::MainAppRouteDelegator
    ::RailsEmailPreview::EmailsController.instance_variable_set(:@inlined_routes, true)
  end
end
layout=(layout) click to toggle source
# File lib/rails_email_preview.rb, line 60
def layout=(layout)
  [::RailsEmailPreview::ApplicationController, ::RailsEmailPreview::EmailsController].each { |ctrl| ctrl.layout layout }
  if layout && layout !~ %r(^rails_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/rails_email_preview.rb, line 50
def preview_classes=(classes)
  @preview_classes = classes
  RailsEmailPreview::Preview.load_all(classes)
end
rails_supports_csp_nonce?() click to toggle source

@api private

# File lib/rails_email_preview.rb, line 90
def rails_supports_csp_nonce?
  @rails_supports_csp_nonce = (Rails.gem_version >= Gem::Version.new('5.2.0')) if @rails_supports_csp_nonce.nil?
  @rails_supports_csp_nonce
end
run_before_render(mail, preview) click to toggle source
# File lib/rails_email_preview.rb, line 68
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/rails_email_preview.rb, line 85
def setup
  yield self
end