Commit | Line | Data |
98630abc |
1 | package MooseX::StrictConstructor::Trait::ApplicationToClass; |
2 | use Moose::Role; |
3 | |
4 | around apply => sub { |
5 | my $orig = shift; |
6 | my $self = shift; |
7 | my ($role, $class) = @_; |
8 | |
9 | Moose::Util::MetaRole::apply_base_class_roles( |
10 | for => $class, |
11 | roles => ['MooseX::StrictConstructor::Role::Object'], |
12 | ); |
13 | |
14 | $class = Moose::Util::MetaRole::apply_metaroles( |
15 | for => $class, |
16 | class_metaroles => { |
17 | class => [ 'MooseX::StrictConstructor::Trait::Class' ], |
18 | } |
19 | ); |
20 | |
21 | $self->$orig( $role, $class ); |
22 | }; |
23 | |
24 | no Moose::Role; |
25 | |
26 | 1; |