NAME Module::Starter::Plugin::Attanium - template based module starter for Attainium apps. SYNOPSIS use Module::Starter qw( Module::Starter::Simple Module::Starter::Plugin::Template Module::Starter::Plugin::Attanium ); Module::Starter->create_distro(%args); ABSTRACT The prefered method for using this module is via the attainium-starter.pl script. VERSION Version 0.002 DESCRIPTION This is a plugin for Module::Starter that builds a skeleton Attainium module with all the extra files needed to package it for CPAN. It also generates - an Attanium controller base class for your modules - a customized CGI::Application::Dispatch subclass - a preconfigured development config file - a server.pl that runs out of the box - helper scripts to generate Controller modules subclasses - a helper script to generate DBIx::Class schema and result classes. This module is inspired Module::Starter::Plugin::CGIApp by Jaldhar H. Vyas . METHODS new ( %args ) This method calls the "new" supermethod from Module::Starter::Plugin::Template and then initializes the template store and renderer. (See "templates" and "renderer" below.) create_distro ( %args ) This method works as advertised in Module::Starter. create_t( @modules ) This method creates a bunch of *.t files. *@modules* is a list of all modules in the distribution. render( $template, \%options ) This method is subclassed from Module::Starter::Plugin::Template. It is given an HTML::Template and options and returns the resulting document. Data in the "Module::Starter" object which represents a reference to an array @foo is transformed into an array of hashes with one key called $foo_item in order to make it usable in an HTML::Template "TMPL_LOOP". For example: $data = ['a'. 'b', 'c']; would become: $data = [ { data_item => 'a' }, { data_item => 'b' }, { data_item => 'c' }, ]; so that in the template you could say: renderer () This method is subclassed from Module::Starter::Plugin::Template but doesn't do anything as the actual template is created by "render" in this implementation. templates () This method is subclassed from Module::Starter::Plugin::Template. It reads in the template files and populates the object's templates attribute. The module template directory is found by checking the "MODULE_TEMPLATE_DIR" environment variable and then the config option "template_dir". create_MANIFEST_SKIP() This method creates a "MANIFEST.SKIP" file in the distribution's directory so that unneeded files can be skipped from inclusion in the distribution. create_perlcriticrc () This method creates a "perlcriticrc" in the distribution's test directory so that the behavior of "perl-critic.t" can be modified. create_server_pl () This method creates "server.pl" in the distribution's root directory. create_server_pl () This method creates "config-test.pl" in the distribution's root/config directory. create_create_pl () This method creates "create_controller.pl" in the distribution's app/script directory. create_tmpl () This method takes all the template files ending in .tmpl (representing HTML::Template's and installs them into a directory under the distro tree. For instance if the distro was called "Foo-Bar", the templates would be installed in "Foo-Bar/templates". Note the files will just be copied over not rendered. create_submodule () Implements a default "Home" subclass of the main module. This module will be auto configured as the default module in the Dispatch subclass. create_dbic_pl () This method creates "create_dbic_schema.pl" in the distribution's root/script/ directory. create_dispatch () Implements a CGI::Application::Dispatch subclass for this app in the lib directory under the main modules directory. BUGS Please report any bugs or feature requests to through the web interface at . I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. AUTHOR Gordon Van Amburg, ACKNOWLEDGEMENT This module borrows heavily from by Jaldhar H. Vyas, COPYRIGHT This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO attanium-starter, Attainium, Titanium, CGI::Application, Module::Starter::Plugin::CGIApp