bump version to 0.63
[gitmo/Moose.git] / lib / Moose / Util / MetaRole.pm
index 2beb525..74b8547 100644 (file)
@@ -3,6 +3,10 @@ package Moose::Util::MetaRole;
 use strict;
 use warnings;
 
+our $VERSION   = '0.63';
+$VERSION = eval $VERSION;
+our $AUTHORITY = 'cpan:STEVAN';
+
 use List::MoreUtils qw( all );
 
 my @Classes = qw( constructor_class destructor_class error_class );
@@ -12,11 +16,12 @@ sub apply_metaclass_roles {
 
     my $for = $options{for_class};
 
-    my %old_classes = map { $_ => $for->meta->$_ } @Classes;
+    my %old_classes
+        = map { $_ => $for->meta->$_ } grep { $for->meta->can($_) } @Classes;
 
     my $meta = _make_new_metaclass( $for, \%options );
 
-    for my $c (@Classes) {
+    for my $c ( grep { $meta->can($_) } @Classes ) {
         if ( $options{ $c . '_roles' } ) {
             my $class = _make_new_class(
                 $meta->$c(),