| 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 | 8 3 13 | use Any::Moose; | ||||
| 4 | extends 'Railsish::View'; | ||||||
| 5 | |||||||
| 6 | 1 1 1 | 77 5 21 | use Template; | ||||
| 7 | |||||||
| 8 | sub render { | ||||||
| 9 | 3 | 0 | 25 | my ($self, %vars) = @_; | |||
| 10 | |||||||
| 11 | 3 | 19 | unless (exists $vars{layout}) { | ||||
| 12 | 2 | 9 | $vars{layout} = "layouts/application.html.tt2"; | ||||
| 13 | } | ||||||
| 14 | |||||||
| 15 | 3 | 25 | my $template_config = { | ||||
| 16 | INCLUDE_PATH => [ $self->template_root ], | ||||||
| 17 | PROCESS => $vars{layout}, | ||||||
| 18 | ENCODING => 'utf8' | ||||||
| 19 | }; | ||||||
| 20 | |||||||
| 21 | 3 | 19 | delete $template_config->{PROCESS} unless defined $vars{layout}; | ||||
| 22 | |||||||
| 23 | 3 | 32 | my $tt = Template->new($template_config); | ||||
| 24 | |||||||
| 25 | 3 | 15 | for (@Railsish::ViewHelpers::EXPORT) { | ||||
| 26 | 12 12 | 24 97 | $vars{$_} = \&{"Railsish::ViewHelpers::$_"}; | ||||
| 27 | } | ||||||
| 28 | |||||||
| 29 | 3 | 12 | my $output = ""; | ||||
| 30 | 3 | 23 | $tt->process($vars{file}, \%vars, \$output) | ||||
| 31 | || die $tt->error(); | ||||||
| 32 | |||||||
| 33 | 3 | 7 | return $output; | ||||
| 34 | } | ||||||
| 35 | |||||||
| 36 | __PACKAGE__->meta->make_immutable; | ||||||