| MooseX-POE documentation | Contained in the MooseX-POE distribution. |
MooseX::POE::Role - Eventful roles
version 0.214
package Counter;
use MooseX::POE::Role;
...
package RealCounter;
with qw(Counter);
This is what MooseX::POE is to Moose but with Moose::Role.
Create an event handler named $name.
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.
| MooseX-POE documentation | Contained in the MooseX-POE distribution. |
package MooseX::POE::Role; BEGIN { $MooseX::POE::Role::VERSION = '0.214'; } # ABSTRACT: Eventful roles use MooseX::POE::Meta::Role; use Moose::Exporter; my ( $import, $unimport, $init_meta ) = Moose::Exporter->setup_import_methods( with_caller => [qw(event)], also => 'Moose::Role', install => [qw(import unimport)], role_metaroles => { role => ['MooseX::POE::Meta::Role'], }, ); sub init_meta { my ( $class, %args ) = @_; my $for = $args{for_class}; eval qq{package $for; use POE; }; Moose::Role->init_meta( for_class => $for ); goto $init_meta; } sub event { my ( $caller, $name, $method ) = @_; my $class = Moose::Meta::Class->initialize($caller); $class->add_state_method( $name => $method ); } 1;
__END__