role support, in MooseX::StrictConstructor::FromRole
[gitmo/MooseX-StrictConstructor.git] / lib / MooseX / StrictConstructor / FromRole.pm
CommitLineData
98630abc 1package MooseX::StrictConstructor::FromRole;
2
3use strict;
4use warnings;
5
6use Moose 0.94 ();
7use Moose::Exporter;
8use Moose::Util::MetaRole;
9
10{
11 my %class_meta = ( class => ['MooseX::StrictConstructor::Trait::Class'] );
12 my %role_meta;
13
14 if ( $Moose::VERSION < 1.9900 ) {
15 require MooseX::StrictConstructor::Trait::Method::Constructor;
16 $class_meta{constructor}
17 = ['MooseX::StrictConstructor::Trait::Method::Constructor'];
18 }
19 else
20 {
21 %role_meta
22 = (
23 role => ['MooseX::StrictConstructor::Trait::Role'],
24 application_to_class => ['MooseX::StrictConstructor::Trait::ApplicationToClass'],
25 application_to_role =>['MooseX::StrictConstructor::Trait::ApplicationToRole'],
26 );
27 }
28
29 Moose::Exporter->setup_import_methods(
30 class_metaroles => \%class_meta,
31 role_metaroles => \%role_meta,
32 );
33}
34
351;
36
37# ABSTRACT: MooseX::StrictConstructor behaviour when used from a role
38
39__END__
40
41=pod
42
43=head1 DESCRIPTION
44
45This package is equivalent to C<Moosex::StrictConstructor> except that it also
46works from roles. This is only available in Moose 2.0 and later.
47
48=cut