X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-View-Component-SubInclude.git;a=blobdiff_plain;f=lib%2FCatalyst%2FView%2FComponent%2FSubInclude.pm;h=ba2c397da3e38b2e4b2afb9f4a05ba4a02be5812;hp=0585a4c8ec064b09c55cde1dd3006c6019fa494a;hb=d547aa9523060fbe40d76cfd935e19c296def29e;hpb=61b51634dbbe072d45e5c5a9469723099dc3e891 diff --git a/lib/Catalyst/View/Component/SubInclude.pm b/lib/Catalyst/View/Component/SubInclude.pm index 0585a4c..ba2c397 100644 --- a/lib/Catalyst/View/Component/SubInclude.pm +++ b/lib/Catalyst/View/Component/SubInclude.pm @@ -2,9 +2,10 @@ package Catalyst::View::Component::SubInclude; use Moose::Role; use Carp qw/croak/; -use Scalar::Util qw/weaken/; use namespace::clean -except => 'meta'; +with 'Catalyst::Component::ContextClosure'; + =head1 NAME Catalyst::View::Component::SubInclude - Use subincludes in your Catalyst views @@ -122,11 +123,9 @@ around 'new' => sub { before 'render' => sub { my ($self, $c, @args) = @_; - - weaken $c; - $c->stash->{subinclude} = sub { $self->_subinclude( $c, @_ ) }; - $c->stash->{subinclude_using} = sub { $self->_subinclude_using( $c, @_ ) }; + $c->stash->{subinclude} = $self->make_context_closure(sub { $self->_subinclude( @_ ) }, $c); + $c->stash->{subinclude_using} = $self->make_context_closure(sub { $self->_subinclude_using( @_ ) }, $c); }; sub set_subinclude_plugin {