MooClass->meta
[gitmo/Moo.git] / lib / Moo / HandleMoose.pm
index 99dbf45..2de0c7b 100644 (file)
@@ -30,6 +30,7 @@ sub maybe_reinject_fake_metaclass_for {
 sub inject_fake_metaclass_for {
   my ($name) = @_;
   require Class::MOP;
+  require Moo::HandleMoose::FakeMetaClass;
   Class::MOP::store_metaclass_by_name(
     $name, bless({ name => $name }, 'Moo::HandleMoose::FakeMetaClass')
   );
@@ -145,21 +146,4 @@ sub inject_real_metaclass_for {
   $meta;
 }
 
-{
-  package Moo::HandleMoose::FakeMetaClass;
-
-  sub DESTROY { }
-
-  sub AUTOLOAD {
-    my ($meth) = (our $AUTOLOAD =~ /([^:]+)$/);
-    Moo::HandleMoose::inject_real_metaclass_for((shift)->{name})->$meth(@_)
-  }
-  sub can {
-    Moo::HandleMoose::inject_real_metaclass_for((shift)->{name})->can(@_)
-  }
-  sub isa {
-    Moo::HandleMoose::inject_real_metaclass_for((shift)->{name})->isa(@_)
-  }
-}
-
 1;