X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FView%2FComponent%2FSubInclude%2FVisit.pm;h=d1a391709dd6c775eae54dbcdc4a27ceec69446f;hb=f71ea072d1c41d62dd739d23a7eab20fac4b891e;hp=b5fd93bbeb9c8b6c95fd37c9ade7b9c51b530fa1;hpb=6e96f4bf6b3f43b4d3936e96e4ed9366a23a1c81;p=catagits%2FCatalyst-View-Component-SubInclude.git diff --git a/lib/Catalyst/View/Component/SubInclude/Visit.pm b/lib/Catalyst/View/Component/SubInclude/Visit.pm index b5fd93b..d1a3917 100644 --- a/lib/Catalyst/View/Component/SubInclude/Visit.pm +++ b/lib/Catalyst/View/Component/SubInclude/Visit.pm @@ -11,11 +11,11 @@ Catalyst::View::Component::SubInclude::Visit - visit() plugin for C::V::Componen =head1 VERSION -Version 0.02 +Version 0.07 =cut -our $VERSION = '0.02'; +our $VERSION = '0.07'; =head1 SYNOPSIS @@ -40,14 +40,22 @@ render subinclude contents. This method is only supported when using L version 5.71000 or newer. +B. Apparently, C doesn't handle this type +of actions yet. + =head1 CLASS METHODS =head2 C -This will translate to the following call: +This is (roughly) equivalent to the following call: $c->visit( $path, @args ); +But it will handle all the nasty details such as localizing the stash, +parameters and response body. This is necessary to keep behavior consistent +with the other plugins. + =cut sub generate_subinclude { @@ -55,8 +63,6 @@ sub generate_subinclude { croak "subincludes through visit() require Catalyst version 5.71000 or newer" unless $c->can('visit'); - - $c->log->debug("generate subinclude: $path @params"); { local $c->{stash} = {}; @@ -66,7 +72,8 @@ sub generate_subinclude { local $c->response->{body}; - $c->visit( $path, ( ref $params[0] eq 'ARRAY' ? shift @params : () ) ); + my $captures = ref $params[0] eq 'ARRAY' ? shift @params : []; + $c->visit( $path, \@params, $captures ); return $c->response->{body}; }