File: | lib/Railsish/View/tt2.pm |
Coverage: | 92.9% |
line | stmt | bran | cond | sub | pod | time | code |
---|---|---|---|---|---|---|---|
1 | package Railsish::View::tt2; | ||||||
2 | |||||||
3 | 1 1 1 | 35 3 15 | use Moose; | ||||
4 | extends 'Railsish::View'; | ||||||
5 | |||||||
6 | 1 1 1 | 82 5 21 | use Template; | ||||
7 | |||||||
8 | sub render { | ||||||
9 | 3 | 0 | 25 | my ($self, %vars) = @_; | |||
10 | |||||||
11 | 3 | 20 | unless (exists $vars{layout}) { | ||||
12 | 2 | 10 | $vars{layout} = "layouts/application.html.tt2"; | ||||
13 | } | ||||||
14 | |||||||
15 | 3 | 24 | my $template_config = { | ||||
16 | INCLUDE_PATH => [ $self->template_root ], | ||||||
17 | PROCESS => $vars{layout}, | ||||||
18 | ENCODING => 'utf8' | ||||||
19 | }; | ||||||
20 | |||||||
21 | 3 | 85 | delete $template_config->{PROCESS} unless defined $vars{layout}; | ||||
22 | |||||||
23 | 3 | 35 | my $tt = Template->new($template_config); | ||||
24 | |||||||
25 | 3 | 17 | for (@Railsish::ViewHelpers::EXPORT) { | ||||
26 | 12 12 | 23 99 | $vars{$_} = \&{"Railsish::ViewHelpers::$_"}; | ||||
27 | } | ||||||
28 | |||||||
29 | 3 | 12 | my $output = ""; | ||||
30 | 3 | 24 | $tt->process($vars{file}, \%vars, \$output) | ||||
31 | || die $tt->error(); | ||||||
32 | |||||||
33 | 3 | 7 | return $output; | ||||
34 | } | ||||||
35 | |||||||
36 | 1; |