File Coverage

blib/lib/Eve/HttpResource/Template.pm
Criterion Covered Total %
statement 24 47 51.0
branch 0 6 0.0
condition 0 3 0.0
subroutine 8 10 80.0
pod 1 1 100.0
total 33 67 49.2


line stmt bran cond sub pod time code
1             package Eve::HttpResource::Template;
2              
3 8     8   42 use parent qw(Eve::HttpResource);
  8         15  
  8         81  
4              
5 8     8   313 use utf8;
  8         19  
  8         87  
6 8     8   176 use strict;
  8         16  
  8         212  
7 8     8   9003 use autodie;
  8         141338  
  8         54  
8 8     8   58697 use warnings;
  8         42  
  8         414  
9 8     8   8973 use open qw(:std :utf8);
  8         11376  
  8         59  
10 8     8   11041 use charnames qw(:full);
  8         127121  
  8         63  
11              
12 8     8   12966 use Encode qw();
  8         98645  
  8         5255  
13              
14             =head1 NAME
15              
16             B - a simple HTTP resource with a template.
17              
18             =head1 SYNOPSIS
19              
20             use Eve::HttpResource::Template;
21              
22             # Bind it to an URL using the HTTP resource dispatcher. See
23             # B class.
24              
25             my $resource = Eve::HttpResource::Template->new(
26             response => $response,
27             session_constructor => $session_constructor,
28             dispatcher => $dispatcher,
29             template => $template,
30             template_file => 'template.html',
31             template_var_hash => {'some_var' => 1, 'other_var' => 2},
32             require_auth => 1,
33             content_type => 'text/plain',
34             charset => 'CP1251',
35             text_var_hash => $text_var_hash);
36              
37             $dispatcher->bind(
38             name => 'some_unique_name',
39             pattern => '/some_uri',
40             base_uri => $some_base_uri,
41             resource_constructor => sub {
42             return $resource;
43             });
44              
45             =head1 DESCRIPTION
46              
47             B is a simple HTTP resource that only
48             displays a parsed template. All the templates have the following
49             objects available in their scope:
50              
51             =over 4
52              
53             =item C
54              
55             an instance of the B object for the current user,
56              
57             =back
58              
59             =head3 Constructor arguments
60              
61             =over 4
62              
63             =item C
64              
65             an HTTP response object,
66              
67             =item C
68              
69             a reference to a subroutine that returns a session object,
70              
71             =item C
72              
73             an HTTP dispatcher object,
74              
75             =item C