use Moose 0.94 ();
use Moose::Exporter;
use Moose::Util::MetaRole;
-use MooseX::StrictConstructor::Role::Object;
-use MooseX::StrictConstructor::Role::Meta::Method::Constructor;
-
-Moose::Exporter->setup_import_methods(
- class_metaroles => {
- constructor =>
- ['MooseX::StrictConstructor::Role::Meta::Method::Constructor']
- },
- base_class_roles => ['MooseX::StrictConstructor::Role::Object'],
+
+use MooseX::StrictConstructor::Trait::Class;
+use MooseX::StrictConstructor::Trait::Method::Constructor;;
+
+my %metaroles = (
+ class => ['MooseX::StrictConstructor::Trait::Class'],
);
+$metaroles{constructor}
+ = ['MooseX::StrictConstructor::Trait::Method::Constructor']
+ if $Moose::VERSION <= 1.9900;
+
+Moose::Exporter->setup_import_methods( class_metaroles => \%metaroles );
+
1;
# ABSTRACT: Make your object constructors blow up on unknown attributes
=head1 DESCRIPTION
Simply loading this module makes your constructors "strict". If your
-constructor is called with an attribute init argument that your class
-does not declare, then it calls "Carp::confess()". This is a great way
-to catch small typos.
+constructor is called with an attribute init argument that your class does not
+declare, then it calls C<< Moose->throw_error() >>. This is a great way to
+catch small typos.
=head2 Subverting Strictness