role support, in MooseX::StrictConstructor::FromRole
[gitmo/MooseX-StrictConstructor.git] / lib / MooseX / StrictConstructor / Trait / ApplicationToRole.pm
1 package MooseX::StrictConstructor::Trait::ApplicationToRole;
2 use Moose::Role;
3
4 around apply => sub {
5     my $orig  = shift;
6     my $self  = shift;
7     my ($role1, $role2) = @_;
8
9     $role2 = Moose::Util::MetaRole::apply_metaroles(
10         for             => $role2,
11         role_metaroles => {
12             application_to_class => [
13                 'MooseX::StrictConstructor::Trait::ApplicationToClass',
14             ],
15             application_to_role => [
16                 'MooseX::StrictConstructor::Trait::ApplicationToRole',
17             ],
18         }
19     );
20
21     $self->$orig( $role1, $role2 );
22 };
23
24 no Moose::Role;
25
26 1;