accept objects in ->{isa} too
Yuval Kogman [Fri, 4 May 2007 19:07:28 +0000 (19:07 +0000)]
lib/MooseX/AttributeHelpers/Base.pm
lib/MooseX/AttributeHelpers/Collection/Array.pm

index 1564d93..09ae2f1 100644 (file)
@@ -106,4 +106,4 @@ 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
index 77eabd8..8e0e36c 100644 (file)
@@ -58,7 +58,8 @@ sub _process_options_for_provides {
     (exists $options->{isa})
         || confess "You must define a type with the Array metaclass";  
          
-    (find_type_constraint($options->{isa})->is_a_type_of('ArrayRef'))
+    my $c = find_type_constraint($options->{isa}) || $options->{isa};
+    ( $c && blessed($c) && $c->is_a_type_of('ArrayRef'))
         || confess "The type constraint for a Array ($options->{isa}) must be a subtype of ArrayRef";
 }
 
@@ -117,4 +118,4 @@ 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