NAME
RapidApp::Builder - Plack-compatable, runtime-generated RapidApp loader
SYNOPSIS
use RapidApp::Builder;
my $builder = RapidApp::Builder->new(
debug => 1,
appname => "My::App",
plugins => [ ... ],
config => { ... }
);
# Plack app:
$builder->to_app
DESCRIPTION
This module is an extension to both Plack::Component and CatalystX::AppBuilder and facilitates programatically creating/instantiating a RapidApp application without having to setup/bootstrap files on disk. As a Plack::Component, it can also be used anywhere Plack is supported, and can subclassed in the same manner as any Plack::Component class.
...
CONFIGURATION
appname
Class name of the RapidApp/Catalyst app to be built.
base_appname
Alternative to appname
, but will append a number if the specified class already exists (loaded or unloaded, but found in @INC). For example, if set to MyApp
, if MyApp already exists, the appname is set to <MyApp1>, if that exists it is set to MyApp2
and so on.
plugins
List of Catalyst plugins to load. The plugin 'RapidApp' is always loaded, and '-Debug' is loaded when debug
is set.
inject_components
Optional list of components (i.e. Catalyst Models, Views and Controllers) to inject into the application. These should be specified as 2-value ArrayRefs with the class name to inject as the first argument, and the name to inject it as in the application (relative to the app namespace) as the second argument.
For example, to inject a controller named 'Blah':
inject_components => [
[ 'Some::Catalyst::Controller::Foo' => 'Controller::Blah' ]
]
debug
Boolean flag to enable debug output in the application. When set, adds -Debug
to the plugins list.
version
The $VERSION
string to use
METHODS
psgi_app
Same as to_app
to_app
PSGI $app
CodeRef. Derives from Plack::Component
SEE ALSO
AUTHOR
Henry Van Styn <vanstyn@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2015 by IntelliTree Solutions llc.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.