Make this trait code a little more malleable
Shawn M Moore [Sun, 14 Dec 2008 21:30:31 +0000 (21:30 +0000)]
lib/Moose/Meta/Attribute.pm

index 1f7e017..1a47b7b 100644 (file)
@@ -108,11 +108,12 @@ sub interpolate_class {
     my @traits;
 
     if (my $traits = $options{traits}) {
-        if ( @traits = grep { not $class->does($_) } map {
-            Moose::Util::resolve_metatrait_alias( Attribute => $_ )
-                or
-            $_
-        } @$traits ) {
+        @traits =
+            grep { not $class->does($_) }
+            map { Moose::Util::resolve_metatrait_alias(Attribute => $_) || $_ }
+            @$traits;
+
+        if (@traits) {
             my $anon_class = Moose::Meta::Class->create_anon_class(
                 superclasses => [ $class ],
                 roles        => [ @traits ],