X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fp5-CGI-Ex;a=blobdiff_plain;f=lib%2FCGI%2FEx%2FApp.pm;fp=lib%2FCGI%2FEx%2FApp.pm;h=79720fc4f9c9eef62ce785909fb498ae06d00c83;hp=305fa2325e94fd2b9d909e542140ca5523145083;hb=fdecaac30a1168ed894c46d61b6c95524ec62a4e;hpb=febed4ec71f803b083c3e61b82b9464e9bfb0992 diff --git a/lib/CGI/Ex/App.pm b/lib/CGI/Ex/App.pm index 305fa23..79720fc 100644 --- a/lib/CGI/Ex/App.pm +++ b/lib/CGI/Ex/App.pm @@ -11,7 +11,7 @@ BEGIN { eval { use Time::HiRes qw(time) }; eval { use Scalar::Util }; } -our $VERSION = '2.27'; +our $VERSION = '2.32'; sub new { my $class = shift || croak "Usage: ".__PACKAGE__."->new"; @@ -691,17 +691,18 @@ sub finalize { 1 } # false means show step sub hash_base { my ($self, $step) = @_; - return $self->{'hash_base'} ||= do { - my $copy = $self; eval { require Scalar::Util; Scalar::Util::weaken($copy) }; - my $hash = { - script_name => $self->script_name, - path_info => $self->path_info, - js_validation => sub { $copy->run_hook('js_validation', $step, shift) }, - generate_form => sub { $copy->run_hook('generate_form', $step, (ref($_[0]) ? (undef, shift) : shift)) }, - form_name => $self->run_hook('form_name', $step), - $self->step_key => $step, - }; + my $hash = $self->{'hash_base'} ||= { + script_name => $self->script_name, + path_info => $self->path_info, }; + + my $copy = $self; eval { require Scalar::Util; Scalar::Util::weaken($copy) }; + $hash->{'js_validation'} = sub { $copy->run_hook('js_validation', $step, shift) }; + $hash->{'generate_form'} = sub { $copy->run_hook('generate_form', $step, (ref($_[0]) ? (undef, shift) : shift)) }; + $hash->{'form_name'} = $self->run_hook('form_name', $step); + $hash->{$self->step_key} = $step; + + return $hash; } sub hash_common { $_[0]->{'hash_common'} ||= {} }