Added www/p5-Catalyst-Controller-BindLex version 0.05
This plugin lets you put your lexicals on the stash and elsewhere very easily. It uses some funky modules to get it's job done: PadWalker, Array::RefElem, Devel::Caller, Devel::LexAlias and attributes. In some people's opinion this hurts this plugin's reputation ;-). If you use the same name for two variables with the same storage binding attribute they will be aliased to each other, so you can use this for reading as well as writing values across controller subs. This is almost like sharing your lexical scope. sub bar : Local { my ( $self, $c ) = @_; my $x : Stashed; my %y : Stashed; $x = 100; do_something( $c->stash->{x} ); # 100 $c->forward("gorch"); }
This commit is contained in:
parent
3574577ad7
commit
70c6a4629f
3 changed files with 54 additions and 0 deletions
24
www/p5-Catalyst-Controller-BindLex/DESCR
Normal file
24
www/p5-Catalyst-Controller-BindLex/DESCR
Normal file
|
@ -0,0 +1,24 @@
|
|||
This plugin lets you put your lexicals on the stash and elsewhere
|
||||
very easily.
|
||||
|
||||
It uses some funky modules to get it's job done: PadWalker,
|
||||
Array::RefElem, Devel::Caller, Devel::LexAlias and attributes. In
|
||||
some people's opinion this hurts this plugin's reputation ;-).
|
||||
|
||||
If you use the same name for two variables with the same storage
|
||||
binding attribute they will be aliased to each other, so you can
|
||||
use this for reading as well as writing values across controller
|
||||
subs. This is almost like sharing your lexical scope.
|
||||
|
||||
sub bar : Local {
|
||||
my ( $self, $c ) = @_;
|
||||
|
||||
my $x : Stashed;
|
||||
my %y : Stashed;
|
||||
|
||||
$x = 100;
|
||||
|
||||
do_something( $c->stash->{x} ); # 100
|
||||
|
||||
$c->forward("gorch");
|
||||
}
|
25
www/p5-Catalyst-Controller-BindLex/Makefile
Normal file
25
www/p5-Catalyst-Controller-BindLex/Makefile
Normal file
|
@ -0,0 +1,25 @@
|
|||
# $NetBSD: Makefile,v 1.1.1.1 2008/07/15 09:16:00 abs Exp $
|
||||
|
||||
DISTNAME= Catalyst-Controller-BindLex-0.05
|
||||
PKGNAME= p5-${DISTNAME}
|
||||
CATEGORIES= www perl5
|
||||
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=Catalyst/}
|
||||
|
||||
MAINTAINER= pkgsrc-users@NetBSD.org
|
||||
HOMEPAGE= http://search.cpan.org/perldoc?Catalyst::Controller::BindLex
|
||||
COMMENT= Put lexicals on the catalyst stash
|
||||
|
||||
DEPENDS+= p5-Array-RefElem>=0:../../devel/p5-Array-RefElem
|
||||
DEPENDS+= p5-Catalyst-Runtime>=0:../../www/p5-Catalyst-Runtime
|
||||
DEPENDS+= p5-Devel-Caller>0:../../devel/p5-Devel-Caller
|
||||
DEPENDS+= p5-Devel-LexAlias>0:../../devel/p5-Devel-LexAlias
|
||||
DEPENDS+= p5-Test-use-ok>=0:../../devel/p5-Test-use-ok
|
||||
DEPENDS+= p5-PadWalker>0:../../devel/p5-PadWalker
|
||||
|
||||
USE_LANGUAGES= # empty
|
||||
PERL5_PACKLIST= auto/Catalyst/Controller/BindLex/.packlist
|
||||
|
||||
PKG_DESTDIR_SUPPORT= user-destdir
|
||||
|
||||
.include "../../lang/perl5/module.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
5
www/p5-Catalyst-Controller-BindLex/distinfo
Normal file
5
www/p5-Catalyst-Controller-BindLex/distinfo
Normal file
|
@ -0,0 +1,5 @@
|
|||
$NetBSD: distinfo,v 1.1.1.1 2008/07/15 09:16:00 abs Exp $
|
||||
|
||||
SHA1 (Catalyst-Controller-BindLex-0.05.tar.gz) = d18567f9edc6a371ca739aa5b74600e1ee63ccb6
|
||||
RMD160 (Catalyst-Controller-BindLex-0.05.tar.gz) = ab192802424ecf7888ad9de1fc798b82ded64295
|
||||
Size (Catalyst-Controller-BindLex-0.05.tar.gz) = 22293 bytes
|
Loading…
Reference in a new issue