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