Name Web::Components::Role::TT - Applies Template as a Moo::Role Synopsis use Moo; with 'Web::Components::Role::TT'; $rendered_template = $self->render_template( $stash ); Description Uses Template to render templates, typically producing a page of HTML. It is meant to be used in conjunction with Web::Components and Web::ComposableRequest as it's API assumes these are used Templates are assumed to be encoded as utf8 Configuration and Environment Defines the following attributes; templates A lazily evaluated directory which defaults to templates in the configuration var directory. This is where the templates are stored The path to the template file is templates//.tt. The skin and layout attributes default to the values of the configuration object Requires the following attributes to be provided by the consuming class; config Requires the configuration attribute to provide the following attributes; layout The default template name if none is provided in the stash skin The default skin if none is provided in the stash tempdir Path to the directory where Template will store the compiled templates vardir Path to the directory where the templates are stored Subroutines/Methods render_template $rendered_template = $self->render_template( $stash ); The $stash hash reference may contain a config attribute, otherwise the invocant is expected to provide a config object The $stash should contain either a template attribute or skin and page attributes. If a template attribute is provided it should be a hash reference containing skin and layout attributes. If the page attribute is provided it should be a hash reference that contains a layout attribute The layout attribute is either a path to the template or a scalar reference that contains the template Diagnostics The compiled templates are stored in subdirectories below the configuration temporary directory Dependencies File::DataClass Moo Template Unexpected Incompatibilities There are no known incompatibilities in this module Bugs and Limitations There are no known bugs in this module. Please report problems to http://rt.cpan.org/NoAuth/Bugs.html?Dist=Web-Components-Role-TT. Patches are welcome Acknowledgements Larry Wall - For the Perl programming language Author Peter Flanigan, License and Copyright Copyright (c) 2017 Peter Flanigan. All rights reserved This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE