NAME
Catalyst::Helper - Bootstrap a Catalyst application
SYNOPSIS
catalyst.pl <myappname>
DESCRIPTION
This module is used by catalyst.pl to create a set of scripts for a new catalyst application. The scripts each contain documentation and will output help on how to use them if called incorrectly or in some cases, with no arguments.
It also provides some useful methods for a Helper module to call when creating a component. See "METHODS".
SCRIPTS
_create.pl
Used to create new components for a catalyst application at the development stage.
_server.pl
The catalyst test server, starts an HTTPD which outputs debugging to the terminal.
_test.pl
A script for running tests from the command-line.
_cgi.pl
Run your application as a CGI.
_fastcgi.pl
Run the application as a fastcgi app. Either by hand, or call this from FastCgiServer in your http server config.
HELPERS
The "_create.pl" script creates application components using Helper modules. The Catalyst team provides a good number of Helper modules for you to use. You can also add your own.
Helpers are classes that provide two methods.
* mk_compclass - creates the Component class
* mk_comptest - creates the Component test
So when you call scripts/myapp_create.pl view MyView TT
, create will try to execute Catalyst::Helper::View::TT->mk_compclass and Catalyst::Helper::View::TT->mk_comptest.
See Catalyst::Helper::View::TT and Catalyst::Helper::Model::DBIC::Schema for examples.
All helper classes should be under one of the following namespaces.
Catalyst::Helper::Model::
Catalyst::Helper::View::
Catalyst::Helper::Controller::
COMMON HELPERS
Catalyst::Helper::Model::DBIC::Schema - DBIx::Class models
Catalyst::Helper::View::TT - Template Toolkit view
Catalyst::Helper::Model::Adaptor - wrap any class into a Catalyst model
NOTE
The helpers will read author name from /etc/passwd by default. To override, please export the AUTHOR variable.
METHODS
mk_compclass
This method in your Helper module is called with $helper
which is a Catalyst::Helper object, and whichever other arguments the user added to the command-line. You can use the $helper to call methods described below.
If the Helper module does not contain a mk_compclass
method, it will fall back to calling "render_file", with an argument of compclass
.
mk_comptest
This method in your Helper module is called with $helper
which is a Catalyst::Helper object, and whichever other arguments the user added to the command-line. You can use the $helper to call methods described below.
If the Helper module does not contain a mk_compclass
method, it will fall back to calling "render_file", with an argument of comptest
.
mk_stuff
This method is called if the user does not supply any of the usual component types view
, controller
, model
. It is passed the $helper
object (an instance of Catalyst::Helper), and any other arguments the user typed.
There is no fallback for this method.
INTERNAL METHODS
These are the methods that the Helper classes can call on the <$helper> object passed to them.
render_file ($file, $path, $vars, $perms)
Render and create a file from a template in DATA using Template Toolkit. $file is the relevant chunk of the __DATA__ section, $path is the path to the file, $vars is the hashref as expected by Template Toolkit and $perms are desired permissions (or system defaults if not set).
get_file ($class, $file)
Fetch file contents from the DATA section. This is used internally by "render_file". $class is the name of the class to get the DATA section from. __PACKAGE__ or ( caller(0) )[0] might be sensible values for this.
mk_app
Create the main application skeleton. This is called by catalyst.pl.
mk_component ($app)
This method is called by create.pl to make new components for your application.
mk_dir ($path)
Surprisingly, this function makes a directory.
mk_file ($file, $content)
Writes content to a file. Called by "render_file".
next_test ($test_name)
Calculates the name of the next numbered test file and returns it. Don't give the number or the .t suffix for the test name.
get_sharedir_file
Method for getting a file out of share/
render_file_contents
Process a Template::Toolkit template.
render_sharedir_file
Render a template/image file from our share directory
NOTE
The helpers will read author name from /etc/passwd by default. To override, please export the AUTHOR variable.
SEE ALSO
Catalyst::Manual, Catalyst::Test, Catalyst::Request, Catalyst::Response, Catalyst
AUTHORS
Catalyst Contributors, see Catalyst.pm
LICENSE
This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.