1 package MooseX::Role::WithOverloading::Meta::Role::Composite;
5 # ABSTRACT: Role for composite roles which support overloading
8 use Moose::Util::MetaRole;
9 use aliased 'MooseX::Role::WithOverloading::Meta::Role::Application::Composite::ToClass';
10 use aliased 'MooseX::Role::WithOverloading::Meta::Role::Application::Composite::ToRole';
11 use aliased 'MooseX::Role::WithOverloading::Meta::Role::Application::Composite::ToInstance';
13 use namespace::autoclean;
16 around apply_params => sub {
17 my ($next, $self, @args) = @_;
18 return Moose::Util::MetaRole::apply_metaclass_roles(
19 for_class => $self->$next(@args),
20 application_to_class_class_roles => [ ToClass ],
21 application_to_role_class_roles => [ ToRole ],
22 application_to_instance_class_roles => [ ToInstance ],
33 MooseX::Role::WithOverloading::Meta::Role::Composite - Role for composite roles which support overloading
43 Wrapped method to apply various metaclass roles to aid with role composition.
47 Florian Ragwitz <rafl@debian.org>
48 Tomas Doran <bobtfish@bobtfish.net>
50 =head1 COPYRIGHT AND LICENSE
52 This software is copyright (c) 2009 by Florian Ragwitz.
54 This is free software; you can redistribute it and/or modify it under
55 the same terms as the Perl 5 programming language system itself.