File Coverage

blib/lib/Dancer2/Template/TextTemplate.pm
Criterion Covered Total %
statement 16 18 88.8
branch n/a
condition n/a
subroutine 6 6 100.0
pod n/a
total 22 24 91.6


line stmt bran cond sub pod time code
1             package Dancer2::Template::TextTemplate;
2             # ABSTRACT: Text::Template engine for Dancer2
3              
4 1     1   756 use 5.010_000;
  1         2  
  1         34  
5 1     1   5 use strict;
  1         1  
  1         112  
6 1     1   6 use warnings;
  1         1  
  1         50  
7              
8             our $VERSION = '1.003'; # VERSION
9              
10 1     1   6 use Carp 'croak';
  1         3  
  1         66  
11 1     1   892 use Moo;
  1         18386  
  1         5  
12 1     1   2361 use Dancer2::Core::Types 'InstanceOf';
  0            
  0            
13             use Dancer2::Template::TextTemplate::FakeEngine;
14             use namespace::clean;
15              
16             with 'Dancer2::Core::Role::Template';
17              
18              
19             has '+engine' =>
20             ( isa => InstanceOf['Dancer2::Template::TextTemplate::FakeEngine'] );
21              
22             sub _build_engine {
23             my $self = shift;
24             my $engine = Dancer2::Template::TextTemplate::FakeEngine->new;
25             for (qw/ caching expires delimiters cache_stringrefs prepend /) {
26             $engine->$_($self->config->{$_}) if $self->config->{$_};
27             }
28             return $engine;
29             }
30              
31              
32             sub render {
33             my ( $self, $template, $tokens ) = @_;
34             $self->engine->process( $template, $tokens )
35             or croak $Dancer2::Template::TextTemplate::FakeEngine::ERROR;
36             }
37              
38             1;
39              
40             __END__