X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FMeta%2FTypeCoercion.pm;h=2f7cfde64b779a9d6bdafe455ac1429ceff1d9dd;hb=734d1752d36fa71901e772f16cd3e13e85220a2c;hp=2120734add43ef72058e70fef521dc632a65dea3;hpb=34a66aa3423e251341c77ba790950eae4fbcfff9;p=gitmo%2FMoose.git diff --git a/lib/Moose/Meta/TypeCoercion.pm b/lib/Moose/Meta/TypeCoercion.pm index 2120734..2f7cfde 100644 --- a/lib/Moose/Meta/TypeCoercion.pm +++ b/lib/Moose/Meta/TypeCoercion.pm @@ -8,9 +8,9 @@ use metaclass; use Carp 'confess'; use Moose::Meta::Attribute; -use Moose::Util::TypeConstraints '-no-export'; +use Moose::Util::TypeConstraints (); -our $VERSION = '0.01'; +our $VERSION = '0.02'; __PACKAGE__->meta->add_attribute('type_coercion_map' => ( reader => 'type_coercion_map', @@ -41,10 +41,13 @@ sub compile_type_coercion { my @coercions; while (@coercion_map) { my ($constraint_name, $action) = splice(@coercion_map, 0, 2); - my $constraint = Moose::Util::TypeConstraints::find_type_constraint($constraint_name)->_compiled_type_constraint; - (defined $constraint) - || confess "Could not find the type constraint ($constraint_name)"; - push @coercions => [ $constraint, $action ]; + my $type_constraint = Moose::Util::TypeConstraints::find_type_constraint($constraint_name); + (defined $type_constraint) + || confess "Could not find the type constraint ($constraint_name) to coerce from"; + push @coercions => [ + $type_constraint->_compiled_type_constraint, + $action + ]; } $self->_compiled_type_coercion(sub { my $thing = shift; @@ -70,12 +73,19 @@ __END__ =head1 NAME -Moose::Meta::TypeCoercion - The Moose Type Coercion metaobject - -=head1 SYNOPSIS +Moose::Meta::TypeCoercion - The Moose Type Coercion metaclass =head1 DESCRIPTION +For the most part, the only time you will ever encounter an +instance of this class is if you are doing some serious deep +introspection. This API should not be considered final, but +it is B that this will matter to a regular +Moose user. + +If you wish to use features at this depth, please come to the +#moose IRC channel on irc.perl.org and we can talk :) + =head1 METHODS =over 4 @@ -84,10 +94,10 @@ Moose::Meta::TypeCoercion - The Moose Type Coercion metaobject =item B -=item B - =item B +=item B + =item B =item B @@ -106,7 +116,7 @@ Stevan Little Estevan@iinteractive.comE =head1 COPYRIGHT AND LICENSE -Copyright 2006 by Infinity Interactive, Inc. +Copyright 2006, 2007 by Infinity Interactive, Inc. L