Attached is a patch that applies cleanly to CGI::Application version
3.31. The patch adds a bounce("runmode_name") method to CGI::Application
The idea behind the bounce() method is to hopefully standardize the way
we change run modes. Have a look at the sample code snippet of a
CGI::Application sub-class:
sub cgiapp_init {
my $self = shift;
$self->run_modes(
display_widget => 'display_widget',
save_widget => 'save_widget'
);
...
}
sub display_widget {
my $self = shift;
my $rm = $self->get_current_runmode; # Will return
# 'display_widget'
# even if bounce()'d
# to this runmode
return $self->tt_process('widget.tmpl');
}
sub save_widget {
my $self = shift;
# validate and save the widget form
...
return $self->bounce('display_widget');
}
The code in this patch is in use in my development environment. I just
started a new C::A based project and thought this would be a good time
to start using this type of approach.
As time allows I will write tests and documentation. If there is
interest in this patch I can probably find time to get tests and
documentation done faster.
--
Tony Fraser
tony@xxxxxxxxxxxxx
Sybaspace Internet Solutions System Administrator
phone: (250) 246-5368 fax: (250) 246-5398
C-A-bounce-0.01.diff
Description: Text document
---------------------------------------------------------------------
Web Archive: http://www.mail-archive.com/cgiapp@xxxxxxxxxxxxxxxxx/
http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2
To unsubscribe, e-mail: cgiapp-unsubscribe@xxxxxxxxxxxxxxxxx
For additional commands, e-mail: cgiapp-help@xxxxxxxxxxxxxxxxx
|