summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/MooseX/Extension.pm6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/MooseX/Extension.pm b/lib/MooseX/Extension.pm
index f69c181..8981746 100644
--- a/lib/MooseX/Extension.pm
+++ b/lib/MooseX/Extension.pm
@@ -31,6 +31,12 @@ sub init_meta {
shift;
my %options = @_;
Moose->init_meta(%options);
+ my $base_class_roles = delete $args->{-base_class_roles};
+ my %metaclass_roles = map {
+ my $key = $_;
+ $key =~ s/^-//;
+ ($key, $args->{-$key});
+ } keys %$args;
Moose::Util::MetaRole::apply_metaclass_roles(
for_class => $options{for_class},
);