11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/pakyow/mailer/framework.rb', line 11
def boot
object.class_eval do
include Pakyow::Application::Config::Mailer
register_helper :active, Pakyow::Application::Helpers::Mailer
mail_renderer = Class.new(isolated(:Renderer)) do
def perform(output = String.new)
@presenter.to_html(output)
end
end
mail_renderer.__build_fns.delete_if { |fn|
fn.source_location[0].end_with?("create_template_nodes.rb")
}
unless const_defined?(:MailRenderer, false)
const_set(:MailRenderer, mail_renderer)
end
def mailer(path = nil, presentables)
if path
renderer = isolated(:MailRenderer).new(
app: self,
presentables: presentables,
presenter_class: isolated(:MailRenderer).find_presenter(self, path),
composer: Presenter::Composers::View.new(path, app: self)
)
Mailer.new(
renderer: renderer,
config: config.mailer,
logger: Pakyow.logger
)
else
Mailer.new(
config: config.mailer,
logger: Pakyow.logger
)
end
end
end
end
|