Use Moose::Util::find_meta instead of ->Class::MOP::Object::meta.
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Controller.pm
index 7ee1b15..0ccdcb5 100644 (file)
@@ -1,10 +1,13 @@
 package Catalyst::Controller;
 
 use Moose;
+use Moose::Util qw/find_meta/;
+
+use namespace::clean -except => 'meta';
+
 # Note - Must be done at compile time due to attributes (::AttrContainer)
 BEGIN { extends qw/Catalyst::Component Catalyst::AttrContainer/; }
 
-use Class::MOP::Object ();
 use Catalyst::Exception;
 use Catalyst::Utils;
 
@@ -178,7 +181,7 @@ sub register_actions {
     my $class = ref $self || $self;
     #this is still not correct for some reason.
     my $namespace = $self->action_namespace($c);
-    my $meta = $self->Class::MOP::Object::meta();
+    my $meta = find_meta($self);
     my %methods = map { $_->body => $_->name }
         grep { $_->package_name ne 'Moose::Object' } #ignore Moose::Object methods
             $meta->get_all_methods;
@@ -387,8 +390,6 @@ sub _parse_MyAction_attr {
     return ( 'ActionClass', $value );
 }
 
-no Moose;
-
 __PACKAGE__->meta->make_immutable;
 
 1;