X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FView%2FComponent%2FSubInclude%2FSubRequest.pm;h=777cb353aad0b4646ea295170490316c4f6786af;hb=c7c06ff0cc2c5d128d7084843ed96288c76c53d6;hp=6f5cdfbeaf1e8538be999298730b691cc18f4fb5;hpb=c2d8d5b5228548588977a1e49c20f494aba8bb20;p=catagits%2FCatalyst-View-Component-SubInclude.git diff --git a/lib/Catalyst/View/Component/SubInclude/SubRequest.pm b/lib/Catalyst/View/Component/SubInclude/SubRequest.pm index 6f5cdfb..777cb35 100644 --- a/lib/Catalyst/View/Component/SubInclude/SubRequest.pm +++ b/lib/Catalyst/View/Component/SubInclude/SubRequest.pm @@ -1,10 +1,8 @@ package Catalyst::View::Component::SubInclude::SubRequest; -use warnings; -use strict; - +use Moose; use Carp qw/croak/; -use Scalar::Util qw/blessed/; -use namespace::clean; +use MooseX::Types::Moose qw/ Bool /; +use namespace::clean -except => 'meta'; =head1 NAME @@ -12,11 +10,12 @@ Catalyst::View::Component::SubInclude::SubRequest - Sub-requests plugin for C::V =head1 VERSION -Version 0.07 +Version 0.07_03 =cut -our $VERSION = '0.07'; +our $VERSION = '0.07_03'; +$VERSION = eval $VERSION; =head1 SYNOPSIS @@ -52,7 +51,7 @@ to render the subinclude contents. It requires L. -=head1 CLASS METHODS +=head1 METHODS =head2 C @@ -70,9 +69,15 @@ common interface for all plugins. =cut +has keep_stash => ( + isa => Bool, + is => 'ro', + default => 0, +); + sub generate_subinclude { - my ($class, $c, $path, @params) = @_; - my $stash = {}; + my ($self, $c, $path, @params) = @_; + my $stash = $self->keep_stash ? { %{ $c->stash } } : {}; croak "subincludes through subrequests require Catalyst::Plugin::SubRequest" unless $c->can('sub_request'); @@ -112,4 +117,5 @@ under the same terms as Perl itself. =cut +__PACKAGE__->meta->make_immutable; 1;