X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FStrictConstructor.pm;h=5fb6d8cd4a7f41c8a628b92d03f65e4c1cdf8464;hb=2c33a8492bbf3e4dd2b3384351eac52aeacc2b4d;hp=c2bdb35d1991853ff1b5c4b6946dd7529ae68b6c;hpb=fbfaa61fd77d92711dd73a1022571b0d09166c88;p=gitmo%2FMooseX-StrictConstructor.git diff --git a/lib/MooseX/StrictConstructor.pm b/lib/MooseX/StrictConstructor.pm index c2bdb35..5fb6d8c 100644 --- a/lib/MooseX/StrictConstructor.pm +++ b/lib/MooseX/StrictConstructor.pm @@ -3,20 +3,18 @@ package MooseX::StrictConstructor; use strict; use warnings; -our $VERSION = '0.06_01'; +our $VERSION = '0.08'; $VERSION = eval $VERSION; -use Class::MOP (); -use Moose (); +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( also => 'Moose' ); +Moose::Exporter->setup_import_methods(); -sub init_meta -{ +sub init_meta { shift; my %p = @_; @@ -24,17 +22,19 @@ sub init_meta my $caller = $p{for_class}; - Moose::Util::MetaRole::apply_metaclass_roles - ( for_class => $caller, - constructor_class_roles => - ['MooseX::StrictConstructor::Role::Meta::Method::Constructor'], - ); + Moose::Util::MetaRole::apply_metaroles( + for => $caller, + class_metaroles => { + constructor => [ + 'MooseX::StrictConstructor::Role::Meta::Method::Constructor'] + }, + ); - Moose::Util::MetaRole::apply_base_class_roles - ( for_class => $caller, - roles => - [ 'MooseX::StrictConstructor::Role::Object' ], - ); + Moose::Util::MetaRole::apply_base_class_roles( + for => $caller, + roles => + ['MooseX::StrictConstructor::Role::Object'], + ); return $caller->meta(); } @@ -53,7 +53,8 @@ MooseX::StrictConstructor - Make your object constructors blow up on unknown att package My::Class; - use MooseX::StrictConstructor; # instead of use Moose + use Moose; + use MooseX::StrictConstructor; has 'size' => ...; @@ -64,10 +65,10 @@ MooseX::StrictConstructor - Make your object constructors blow up on unknown att =head1 DESCRIPTION -Using this class to load Moose instead of just loading using Moose -itself 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. +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. =head2 Subverting Strictness