Add an arg check to appply_metaroles()
gfx [Fri, 12 Feb 2010 12:57:04 +0000 (21:57 +0900)]
lib/Mouse/Util/MetaRole.pm

index 8334bd5..1b29b60 100644 (file)
@@ -16,6 +16,10 @@ sub apply_metaroles {
         ?                                     $args{for}
         : Mouse::Util::get_metaclass_by_name( $args{for} );
 
+    if(!$for){
+        Carp::confess("You must pass an initialized class, but '$args{for}' has no metaclass");
+    }
+
     if ( Mouse::Util::is_a_metarole($for) ) {
         return _make_new_metaclass( $for, $args{role_metaroles}, 'role' );
     }