use Moose::Meta::Attribute;
use Moose::Util::TypeConstraints ();
-our $VERSION = '0.04';
+our $VERSION = '0.06';
our $AUTHORITY = 'cpan:STEVAN';
__PACKAGE__->meta->add_attribute('type_coercion_map' => (
my @coercions;
while (@coercion_map) {
my ($constraint_name, $action) = splice(@coercion_map, 0, 2);
- my $type_constraint = Moose::Util::TypeConstraints::find_type_constraint($constraint_name);
+ my $type_constraint = Moose::Util::TypeConstraints::find_or_create_type_constraint($constraint_name);
(defined $type_constraint)
|| confess "Could not find the type constraint ($constraint_name) to coerce from";
push @coercions => [
my $thing = shift;
foreach my $coercion (@coercions) {
my ($constraint, $converter) = @$coercion;
- if (defined $constraint->($thing)) {
- local $_ = $thing;
+ if ($constraint->($thing)) {
+ local $_ = $thing;
return $converter->($thing);
}
}
=head1 COPYRIGHT AND LICENSE
-Copyright 2006, 2007 by Infinity Interactive, Inc.
+Copyright 2006-2008 by Infinity Interactive, Inc.
L<http://www.iinteractive.com>
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
-=cut
\ No newline at end of file
+=cut