forked from racke/Template-Flute
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
310 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
Revision history for Dancer::Template::TemplateZoom | ||
|
||
0.0001 Date/time | ||
First version, released on an unsuspecting world. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
use strict; | ||
use warnings; | ||
use ExtUtils::MakeMaker; | ||
|
||
WriteMakefile( | ||
NAME => 'Dancer::Template::TemplateZoom', | ||
AUTHOR => q{Stefan Hornburg (Racke) <[email protected]>}, | ||
VERSION_FROM => 'lib/Dancer/Template/TemplateZoom.pm', | ||
ABSTRACT_FROM => 'lib/Dancer/Template/TemplateZoom.pm', | ||
($ExtUtils::MakeMaker::VERSION >= 6.3002 | ||
? ('LICENSE'=> 'perl') | ||
: ()), | ||
PL_FILES => {}, | ||
PREREQ_PM => { | ||
'Test::More' => 0, | ||
'Dancer' => 0, | ||
'Template::Zoom' => 0, | ||
}, | ||
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', }, | ||
clean => { FILES => 'Dancer-Template-Template-Zoom-*' }, | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
NAME | ||
Dancer::Template::TemplateZoom - Template::Zoom wrapper for Dancer | ||
|
||
VERSION | ||
Version 0.0001 | ||
|
||
DESCRIPTION | ||
This class is an interface between Dancer's template engine abstraction | ||
layer and the Template::Zoom module. | ||
|
||
In order to use this engine, use the template setting: | ||
|
||
template: template_zoom | ||
|
||
The default template extension is ".html". | ||
|
||
METHODS | ||
default_tmpl_ext | ||
Returns default template extension. | ||
|
||
render TEMPLATE TOKENS | ||
Renders template TEMPLATE with values from TOKENS. | ||
|
||
SEE ALSO | ||
Dancer, Template::Zoom | ||
|
||
AUTHOR | ||
Stefan Hornburg (Racke), <[email protected]> | ||
|
||
BUGS | ||
Please report any bugs or feature requests to `bug-template-zoom at | ||
rt.cpan.org', or through the web interface at | ||
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Template-Zoom. | ||
|
||
SUPPORT | ||
You can find documentation for this module with the perldoc command. | ||
|
||
perldoc Template::Zoom | ||
|
||
You can also look for information at: | ||
|
||
* RT: CPAN's request tracker | ||
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Dancer-Template-TemplateZoo | ||
m | ||
|
||
* AnnoCPAN: Annotated CPAN documentation | ||
http://annocpan.org/dist/Dancer-Template-TemplateZoom | ||
|
||
* CPAN Ratings | ||
http://cpanratings.perl.org/d/Dancer-Template-TemplateZoom | ||
|
||
* Search CPAN | ||
http://search.cpan.org/dist/Dancer-Template-TemplateZoom/ | ||
|
||
LICENSE AND COPYRIGHT | ||
Copyright 2011 Stefan Hornburg (Racke) <[email protected]>. | ||
|
||
This program is free software; you can redistribute it and/or modify it | ||
under the terms of either: the GNU General Public License as published | ||
by the Free Software Foundation; or the Artistic License. | ||
|
||
See http://dev.perl.org/licenses/ for more information. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
package Dancer::Template::TemplateZoom; | ||
|
||
use strict; | ||
use warnings; | ||
|
||
use Template::Zoom; | ||
|
||
use base 'Dancer::Template::Abstract'; | ||
|
||
our $VERSION = '0.0001'; | ||
|
||
=head1 NAME | ||
Dancer::Template::TemplateZoom - Template::Zoom wrapper for Dancer | ||
=head1 VERSION | ||
Version 0.0001 | ||
=head1 DESCRIPTION | ||
This class is an interface between Dancer's template engine abstraction layer | ||
and the L<Template::Zoom> module. | ||
In order to use this engine, use the template setting: | ||
template: template_zoom | ||
The default template extension is ".html". | ||
=head1 METHODS | ||
=head2 default_tmpl_ext | ||
Returns default template extension. | ||
=head2 render TEMPLATE TOKENS | ||
Renders template TEMPLATE with values from TOKENS. | ||
=cut | ||
|
||
sub default_tmpl_ext { | ||
return 'html'; | ||
} | ||
|
||
sub render ($$$) { | ||
my ($self, $template, $tokens) = @_; | ||
my ($zoom); | ||
|
||
# derive file name for specification from template file names | ||
$zoom = new Template::Zoom(template_file => $template, | ||
scopes => 1, | ||
values => $tokens, | ||
); | ||
|
||
return $zoom->process(); | ||
} | ||
|
||
=head1 SEE ALSO | ||
L<Dancer>, L<Template::Zoom> | ||
=head1 AUTHOR | ||
Stefan Hornburg (Racke), <[email protected]> | ||
=head1 BUGS | ||
Please report any bugs or feature requests to C<bug-template-zoom at rt.cpan.org>, or through | ||
the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Template-Zoom>. | ||
=head1 SUPPORT | ||
You can find documentation for this module with the perldoc command. | ||
perldoc Template::Zoom | ||
You can also look for information at: | ||
=over 4 | ||
=item * RT: CPAN's request tracker | ||
L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Dancer-Template-TemplateZoom> | ||
=item * AnnoCPAN: Annotated CPAN documentation | ||
L<http://annocpan.org/dist/Dancer-Template-TemplateZoom> | ||
=item * CPAN Ratings | ||
L<http://cpanratings.perl.org/d/Dancer-Template-TemplateZoom> | ||
=item * Search CPAN | ||
L<http://search.cpan.org/dist/Dancer-Template-TemplateZoom/> | ||
=back | ||
=head1 LICENSE AND COPYRIGHT | ||
Copyright 2011 Stefan Hornburg (Racke) <[email protected]>. | ||
This program is free software; you can redistribute it and/or modify it | ||
under the terms of either: the GNU General Public License as published | ||
by the Free Software Foundation; or the Artistic License. | ||
See http://dev.perl.org/licenses/ for more information. | ||
=cut | ||
|
||
1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!perl -T | ||
|
||
use Test::More tests => 1; | ||
|
||
BEGIN { | ||
use_ok( 'Dancer::Template::TemplateZoom' ) || print "Bail out! | ||
"; | ||
} | ||
|
||
diag( "Testing Dancer::Template::TemplateZoom $Dancer::Template::TemplateZoom::VERSION, Perl $], $^X" ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
#!perl -T | ||
|
||
use strict; | ||
use warnings; | ||
use Test::More tests => 3; | ||
|
||
sub not_in_file_ok { | ||
my ($filename, %regex) = @_; | ||
open( my $fh, '<', $filename ) | ||
or die "couldn't open $filename for reading: $!"; | ||
|
||
my %violated; | ||
|
||
while (my $line = <$fh>) { | ||
while (my ($desc, $regex) = each %regex) { | ||
if ($line =~ $regex) { | ||
push @{$violated{$desc}||=[]}, $.; | ||
} | ||
} | ||
} | ||
|
||
if (%violated) { | ||
fail("$filename contains boilerplate text"); | ||
diag "$_ appears on lines @{$violated{$_}}" for keys %violated; | ||
} else { | ||
pass("$filename contains no boilerplate text"); | ||
} | ||
} | ||
|
||
sub module_boilerplate_ok { | ||
my ($module) = @_; | ||
not_in_file_ok($module => | ||
'the great new $MODULENAME' => qr/ - The great new /, | ||
'boilerplate description' => qr/Quick summary of what the module/, | ||
'stub function definition' => qr/function[12]/, | ||
); | ||
} | ||
|
||
TODO: { | ||
local $TODO = "Need to replace the boilerplate text"; | ||
|
||
not_in_file_ok(README => | ||
"The README is used..." => qr/The README is used/, | ||
"'version information here'" => qr/to provide version information/, | ||
); | ||
|
||
not_in_file_ok(Changes => | ||
"placeholder date/time" => qr(Date/time) | ||
); | ||
|
||
module_boilerplate_ok('lib/Dancer/Template/TemplateZoom.pm'); | ||
|
||
|
||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
#!perl -T | ||
|
||
use strict; | ||
use warnings; | ||
use Test::More; | ||
|
||
unless ( $ENV{RELEASE_TESTING} ) { | ||
plan( skip_all => "Author tests not required for installation" ); | ||
} | ||
|
||
eval "use Test::CheckManifest 0.9"; | ||
plan skip_all => "Test::CheckManifest 0.9 required" if $@; | ||
ok_manifest(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
use strict; | ||
use warnings; | ||
use Test::More; | ||
|
||
# Ensure a recent version of Test::Pod::Coverage | ||
my $min_tpc = 1.08; | ||
eval "use Test::Pod::Coverage $min_tpc"; | ||
plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage" | ||
if $@; | ||
|
||
# Test::Pod::Coverage doesn't require a minimum Pod::Coverage version, | ||
# but older versions don't recognize some common documentation styles | ||
my $min_pc = 0.18; | ||
eval "use Pod::Coverage $min_pc"; | ||
plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage" | ||
if $@; | ||
|
||
all_pod_coverage_ok(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
#!perl -T | ||
|
||
use strict; | ||
use warnings; | ||
use Test::More; | ||
|
||
# Ensure a recent version of Test::Pod | ||
my $min_tp = 1.22; | ||
eval "use Test::Pod $min_tp"; | ||
plan skip_all => "Test::Pod $min_tp required for testing POD" if $@; | ||
|
||
all_pod_files_ok(); |