Dancer2
view release on metacpan or search on metacpan
lib/Dancer2/Core/Role/Template.pm view on Meta::CPAN
# ABSTRACT: Role for template engines
package Dancer2::Core::Role::Template;
$Dancer2::Core::Role::Template::VERSION = '2.1.0';
use Dancer2::Core::Types;
use Path::Tiny ();
use Carp 'croak';
use Ref::Util qw< is_ref >;
use Scalar::Util qw< blessed >;
use Moo::Role;
with 'Dancer2::Core::Role::Engine';
sub hook_aliases {
{
before_template_render => 'engine.template.before_render',
after_template_render => 'engine.template.after_render',
before_layout_render => 'engine.template.before_layout_render',
after_layout_render => 'engine.template.after_layout_render',
}
}
sub supported_hooks { values %{ shift->hook_aliases } }
sub _build_type {'Template'}
requires 'render';
has log_cb => (
is => 'ro',
isa => CodeRef,
default => sub { sub {1} },
);
has name => (
is => 'ro',
lazy => 1,
builder => 1,
);
sub _build_name {
( my $name = ref shift ) =~ s/^Dancer2::Template:://;
$name;
}
has charset => (
is => 'ro',
isa => Str,
default => sub {'UTF-8'},
);
has default_tmpl_ext => (
is => 'ro',
isa => Str,
default => sub { shift->config->{extension} || 'tt' },
);
has engine => (
is => 'ro',
isa => Object,
lazy => 1,
builder => 1,
);
has settings => (
is => 'ro',
isa => HashRef,
lazy => 1,
( run in 0.905 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )