File Coverage

lib/Template/Plugin/Format.pm
Criterion Covered Total %
statement 17 17 100.0
branch 5 6 83.3
condition n/a
subroutine 6 6 100.0
pod 1 2 50.0
total 29 31 93.5


line stmt bran cond sub pod time code
1             #============================================================= -*-Perl-*-
2             #
3             # Template::Plugin::Format
4             #
5             # DESCRIPTION
6             #
7             # Simple Template Toolkit Plugin which creates formatting functions.
8             #
9             # AUTHOR
10             # Andy Wardley
11             #
12             # COPYRIGHT
13             # Copyright (C) 1996-2007 Andy Wardley. All Rights Reserved.
14             #
15             # This module is free software; you can redistribute it and/or
16             # modify it under the same terms as Perl itself.
17             #
18             #============================================================================
19              
20             package Template::Plugin::Format;
21              
22 2     2   7 use strict;
  2         3  
  2         57  
23 2     2   8 use warnings;
  2         2  
  2         60  
24 2     2   6 use base 'Template::Plugin';
  2         2  
  2         594  
25              
26             our $VERSION = 2.70;
27              
28              
29             sub new {
30 7     7 1 8 my ($class, $context, $format) = @_;;
31 7 100       17 return defined $format
32             ? make_formatter($format)
33             : \&make_formatter;
34             }
35              
36              
37             sub make_formatter {
38 8     8 0 9 my $format = shift;
39 8 50       12 $format = '%s' unless defined $format;
40             return sub {
41 18     18   134 my @args = @_;
42 18 100       28 push(@args, '') unless @args;
43 18         58 return sprintf($format, @args);
44             }
45 8         44 }
46              
47              
48             1;
49              
50             __END__