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:
abs 2008-07-15 09:16:00 +00:00
parent 3574577ad7
commit 70c6a4629f
3 changed files with 54 additions and 0 deletions

View 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");
}

View 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"

View 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