| CatalystX-RoleApplicator documentation | Contained in the CatalystX-RoleApplicator distribution. |
CatalystX::RoleApplicator - apply roles to your Catalyst application-related classes
version 0.005
package MyApp;
use base 'Catalyst';
use Catalyst;
use CatalystX::RoleApplicator;
__PACKAGE__->apply_request_class_roles(
qw/My::Request::Role Other::Request::Role/
);
CatalystX::RoleApplicator makes it easy for you to apply roles to all the various classes that your Catalyst application uses.
Apply the named roles to one of the classes your application uses.
Apply the Moose extensions that power this class.
Hans Dieter Pearcey <hdp@cpan.org>
This software is copyright (c) 2009 by Hans Dieter Pearcey <hdp@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as perl itself.
| CatalystX-RoleApplicator documentation | Contained in the CatalystX-RoleApplicator distribution. |
package CatalystX::RoleApplicator; our $VERSION = '0.005'; # ABSTRACT: apply roles to your Catalyst application-related classes use strict; use warnings; use Moose (); use Moose::Util::MetaRole; use Moose::Exporter; use MooseX::RelatedClassRoles; Moose::Exporter->setup_import_methods(); sub init_meta { my $self = shift; my %p = @_; my $meta = Moose->init_meta(%p); # leave out context_class because it's set later in Catalyst.pm instead of # up-front, so anyone who doesn't set it will get explosions; also, it's just # MyApp, most of the time, so add your own roles for (qw(request response engine dispatcher stats)) { Class::MOP::class_of('MooseX::RelatedClassRoles') ->apply($meta, name => $_, require_class_accessor => 0); } return $meta; } 1;
__END__