Need to capture new class/role after applying metaroles
Dave Rolsky [Mon, 4 Apr 2011 04:05:20 +0000 (23:05 -0500)]
lib/MooseX/UndefTolerant/ApplicationToClass.pm
lib/MooseX/UndefTolerant/ApplicationToRole.pm

index 353858b..b6be5df 100644 (file)
@@ -6,7 +6,7 @@ around apply => sub {
     my $self  = shift;
     my ($role, $class) = @_;
 
-    Moose::Util::MetaRole::apply_metaroles(
+    $class = Moose::Util::MetaRole::apply_metaroles(
         for             => $class,
         class_metaroles => {
             class => [ 'MooseX::UndefTolerant::Class' ],
index 6393923..3cdbe6d 100644 (file)
@@ -4,10 +4,10 @@ use Moose::Role;
 around apply => sub {
     my $orig  = shift;
     my $self  = shift;
-    my ($role, $class) = @_;
+    my ($role1, $role2) = @_;
 
-    Moose::Util::MetaRole::apply_metaroles(
-        for             => $class,
+    $role2 = Moose::Util::MetaRole::apply_metaroles(
+        for             => $role2,
         role_metaroles => {
             application_to_class => [
                 'MooseX::UndefTolerant::ApplicationToClass',
@@ -18,7 +18,7 @@ around apply => sub {
         }
     );
 
-    $self->$orig( $role, $class );
+    $self->$orig( $role1, $role2 );
 };
 
 no Moose::Role;