role support, in MooseX::StrictConstructor::FromRole
[gitmo/MooseX-StrictConstructor.git] / lib / MooseX / StrictConstructor / Trait / ApplicationToClass.pm
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;