Sugar around moosex::poe event arguments
version 0.215
package Thing;
use MooseX::POE::SweetArgs;
# declare events like usual
event on_success => sub {
# unpack args like a Perl sub, not a POE event
my ($self, $foo, $bar) = @_;
...
POE::Kernel->yield('foo');
...
};
Normally, when using MooseX::POE, subs declared as events need to use \s-1POE\s0 macros for unpacking @_, e.g.:
my ($self, $foo, $bar) = @_[OBJECT, ARG0..$#_];
Using MooseX::POE::SweetArgs as a metaclass lets you avoid this, and just use @_ as normal:
my ($self, $foo, $bar) = @_;
Since the \s-1POE\s0 kernel is a singleton, you can access it using class methods, as shown in the synopsis.
In all other respects, this behaves exactly like MooseX::POE
Chris Prather <[email protected]>
Ash Berlin <[email protected]>
Chris Williams <[email protected]>
Yuval (nothingmuch) Kogman
Torsten Raudssus <[email protected]> <http://www.raudssus.de/>
This software is copyright (c) 2010 by Chris Prather, Ash Berlin, Chris Williams, Yuval Kogman, Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.