| 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; | ||||||