use strict;
use warnings;
-our $VERSION = '0.06_02';
-$VERSION = eval $VERSION;
-
-use Class::MOP ();
-use Moose 0.5504 ();
+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();
-
-sub init_meta
-{
- shift;
- my %p = @_;
- Moose->init_meta(%p);
+use MooseX::StrictConstructor::Trait::Class;
+use MooseX::StrictConstructor::Trait::Method::Constructor;;
- my $caller = $p{for_class};
+my %metaroles = (
+ class => ['MooseX::StrictConstructor::Trait::Class'],
+);
- Moose::Util::MetaRole::apply_metaclass_roles
- ( for_class => $caller,
- constructor_class_roles =>
- ['MooseX::StrictConstructor::Role::Meta::Method::Constructor'],
- );
+$metaroles{constructor}
+ = ['MooseX::StrictConstructor::Trait::Method::Constructor']
+ if $Moose::VERSION <= 1.9900;
- Moose::Util::MetaRole::apply_base_class_roles
- ( for_class => $caller,
- roles =>
- [ 'MooseX::StrictConstructor::Role::Object' ],
- );
-
- return $caller->meta();
-}
+Moose::Exporter->setup_import_methods( class_metaroles => \%metaroles );
1;
+# ABSTRACT: Make your object constructors blow up on unknown attributes
+
__END__
=pod
-=head1 NAME
-
-MooseX::StrictConstructor - Make your object constructors blow up on unknown attributes
-
=head1 SYNOPSIS
package My::Class;
=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
}
}
-=head1 AUTHOR
-
-Dave Rolsky, C<< <autarch@urth.org> >>
-
=head1 BUGS
Please report any bugs or feature requests to
you'll automatically be notified of progress on your bug as I make
changes.
-=head1 COPYRIGHT & LICENSE
-
-Copyright 2007-2008 Dave Rolsky, All Rights Reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
=cut