diff options
author | abs <abs> | 2008-07-15 09:16:00 +0000 |
---|---|---|
committer | abs <abs> | 2008-07-15 09:16:00 +0000 |
commit | b74d5c198368b3f879e089e5835ac087e7a07b06 (patch) | |
tree | 0d4ebd82023f2c29e4c3aa617cee6c43902400d7 /www/p5-Catalyst-Controller-BindLex | |
parent | 906f8fb3f14dd0d0f93d4b7eea2e74fbd864356a (diff) | |
download | pkgsrc-b74d5c198368b3f879e089e5835ac087e7a07b06.tar.gz |
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");
}
Diffstat (limited to 'www/p5-Catalyst-Controller-BindLex')
-rw-r--r-- | www/p5-Catalyst-Controller-BindLex/DESCR | 24 | ||||
-rw-r--r-- | www/p5-Catalyst-Controller-BindLex/Makefile | 25 | ||||
-rw-r--r-- | www/p5-Catalyst-Controller-BindLex/distinfo | 5 |
3 files changed, 54 insertions, 0 deletions
diff --git a/www/p5-Catalyst-Controller-BindLex/DESCR b/www/p5-Catalyst-Controller-BindLex/DESCR new file mode 100644 index 00000000000..f4062e0f8c1 --- /dev/null +++ b/www/p5-Catalyst-Controller-BindLex/DESCR @@ -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"); +} diff --git a/www/p5-Catalyst-Controller-BindLex/Makefile b/www/p5-Catalyst-Controller-BindLex/Makefile new file mode 100644 index 00000000000..41d9e168bde --- /dev/null +++ b/www/p5-Catalyst-Controller-BindLex/Makefile @@ -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" diff --git a/www/p5-Catalyst-Controller-BindLex/distinfo b/www/p5-Catalyst-Controller-BindLex/distinfo new file mode 100644 index 00000000000..43de85a5cb9 --- /dev/null +++ b/www/p5-Catalyst-Controller-BindLex/distinfo @@ -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 |