Controller( $catalyst, @pathArguments )
This method handles a request.
controller_dispatch( @args )
controller_dispatch performs the standard RapidApp dispatch processing for a Module.
If the first argument names an action, the action is executed.
If the first argument names a sub-module, the processing is passed to the sub-module.
If the first argument does not match anything, then the default action is called, if specified, otherwise a 404 is returned to the user.
If there are no arguments, and the client was not requesting JSON, the viewport is executed.
Else, content is called, and its return value is passed to render_data.
process_action( $actionName, [optional @args] )
This routine handles the execution of a selected action. The action must exist. For actions that map to coderefs, the coderef is executed. For actions that map to strings, a method of that name is called on $self.
render_data( $data )
This is a very DWIM sort of routine that takes its parameter (likely the return value of content or an action) and picks an appropriate view for it, possibly ignoring it altogether.
If the action generated a body, no view is needed, and the parameter is ignored.
If the action chose its own view, no further processing is done, and the parameter is returned.
If the controller is configured to render json (the default) and the parameter isn't blacklisted in no_json_ref_types, and the parameter isn't a plain string, the RapidApp::JSON view is chosen. The parameter is returned (as-is) to get passed back to TopController who passes it to the view.
Else, the data is treated as an explicit string for the body. The body is assigned, and returned.
set_response_callback
examples
$self->set_response_callback( 'Ext.ux.MyFunc' );
$self->set_response_callback( alert => 'foo!' );
$self->set_response_callback( 'Ext.Msg.alert' => ( 'A message!!', 'this is awesome!!' ) );
my $func = RapidApp::JSONFunc->new(
raw => 1,
func => 'function(){ console.log("anon!!"); console.dir(this.response); }'
);
$self->response_callback_scoped(1);
$self->set_response_callback(
$func => ( "arg1",{ key_in_arg2 => 'blah!!!' },'arg3',\1 )
);
NAME
RapidApp::Module - Base class for RapidApp Modules
SYNOPSIS
package MyApp::Module::MyModule;
use Moose;
extends 'RapidApp::Module';
DESCRIPTION
This is the base class for all RapidApp Modules. Documentation still TDB...
SEE ALSO
AUTHOR
Henry Van Styn <vanstyn@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 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.