support multiple renderer paths

This commit is contained in:
Graham Ollis
2012-12-18 11:00:47 -05:00
parent cdc31b07be
commit 37ee2ee753
6 changed files with 40 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
Revision history for Mojolicious::Plugin::TtRenderer
{{$NEXT}}
- support multiple renderer paths
1.28 October 11, 2012
- specify minimum perl version

View File

@@ -44,7 +44,7 @@ sub _init {
my %config = (
( @renderer_paths > 0
? (INCLUDE_PATH => join(":", @renderer_paths))
? (INCLUDE_PATH => [@renderer_paths, 'templates'])
: ()
),
COMPILE_EXT => '.ttc',
@@ -157,7 +157,11 @@ sub ctx { @_ > 1 ? $_[0]->{ctx} = $_[1] : $_[0]->{ctx} }
sub options { @_ > 1 ? $_[0]->{options} = $_[1] : $_[0]->{options} }
sub not_found { @_ > 1 ? $_[0]->{not_found} = $_[1] : $_[0]->{not_found} }
sub _template_modified {1}
sub _template_modified {
my($self, $template) = @_;
return 1 if $self->SUPER::_template_modified($template);
return $template =~ /^templates(\/|\\)/;
}
sub _template_content {
my $self = shift;

30
t/multiple_paths.t Normal file
View File

@@ -0,0 +1,30 @@
#!/usr/bin/env perl
use strict;
use warnings;
BEGIN { $ENV{MOJO_MODE}='testing'; };
use utf8;
use Test::More tests => 6;
use Mojolicious::Lite;
use Test::Mojo;
# Silence
app->log->level('fatal');
my @paths = map { app->home->rel_dir($_) } "templates/multiple_first", "templates/multiple_second";
app->renderer->paths([@paths]);
plugin 'TtRenderer';
get '/first' => 'first';
get '/second' => 'second';
my $t = Test::Mojo->new;
$t->get_ok('/first')->status_is(200)->content_like(qr/First/);
$t->get_ok('/second')->status_is(200)->content_like(qr/Second/);

View File

@@ -0,0 +1 @@
First

View File

@@ -0,0 +1 @@
Second

View File

@@ -0,0 +1 @@
Second