added role_type on Mouse::TypeRegistry
[gitmo/Mouse.git] / lib / Mouse / Meta / Role.pm
index 0e1d667..c96d822 100644 (file)
@@ -30,6 +30,7 @@ sub new {
 
     $args{attributes}       ||= {};
     $args{required_methods} ||= [];
+    $args{roles}            ||= [];
 
     bless \%args, $class;
 }
@@ -123,6 +124,9 @@ sub apply {
             }
         }
     }
+
+    # append roles
+    push @{ $class->roles }, $self, @{ $self->roles };
 }
 
 for my $modifier_type (qw/before after around/) {
@@ -140,5 +144,7 @@ for my $modifier_type (qw/before after around/) {
     };
 }
 
+sub roles { $_[0]->{roles} }
+
 1;