metaclass option for Role::init_meta
Yuval Kogman [Sat, 16 Aug 2008 03:38:44 +0000 (03:38 +0000)]
lib/Moose/Role.pm

index ab51709..cbf9f49 100644 (file)
@@ -130,6 +130,8 @@ my $exporter = Moose::Exporter->setup_import_methods(
 
         return $METAS{$role} if exists $METAS{$role};
 
+        my $metaclass = $args{metaclass} || "Moose::Meta::Role";
+
         # make a subtype for each Moose class
         role_type $role unless find_type_constraint($role);
 
@@ -140,7 +142,7 @@ my $exporter = Moose::Exporter->setup_import_methods(
                 || confess "You already have a &meta function, but it does not return a Moose::Meta::Role";
         }
         else {
-            $meta = Moose::Meta::Role->initialize($role);
+            $meta = $metaclass->initialize($role);
             $meta->alias_method('meta' => sub { $meta });
         }