Context for TestAppPluginWithConstructor
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Utils.pm
index 22675a9..3fff3c6 100644 (file)
@@ -8,8 +8,8 @@ use Path::Class;
 use URI;
 use Carp qw/croak/;
 use Cwd;
+
 use String::RewritePrefix;
-use Moose::Util qw/find_meta/;
 
 use namespace::clean;
 
@@ -49,19 +49,6 @@ sub appprefix {
 
 sub class2appclass {
     my $class = shift || '';
-
-    # Special move to deal with components which are anon classes.
-    # Specifically, CX::Component::Traits c072fb2
-    my $meta = find_meta($class);
-    if ($meta) {
-        while ($meta->is_anon_class) {
-            my @superclasses = $meta->superclasses;
-            return if scalar(@superclasses) > 1; # Fail silently, MI, can't deal..
-            $class = $superclasses[0];
-            $meta = find_meta($class);
-        }
-    }
-
     my $appname = '';
     if ( $class =~ /^(.+?)::([MVC]|Model|View|Controller)::.+$/ ) {
         $appname = $1;
@@ -113,9 +100,9 @@ sub class2env {
     return uc($class);
 }
 
-=head2 class2prefix( $class, $case );
+=head2 class2prefix( $class );
 
-Returns the uri prefix for a class. If case is false the prefix is converted to lowercase.
+Returns the uri prefix for a class. The prefix is converted to lowercase.
 
     My::App::Controller::Foo::Bar becomes foo/bar
 
@@ -123,10 +110,9 @@ Returns the uri prefix for a class. If case is false the prefix is converted to
 
 sub class2prefix {
     my $class = shift || '';
-    my $case  = shift || 0;
     my $prefix;
     if ( $class =~ /^.+?::([MVC]|Model|View|Controller)::(.+)$/ ) {
-        $prefix = $case ? $2 : lc $2;
+        $prefix = lc $2;
         $prefix =~ s{::}{/}g;
     }
     return $prefix;
@@ -137,7 +123,7 @@ sub class2prefix {
 Returns a tempdir for a class. If create is true it will try to create the path.
 
     My::App becomes /tmp/my/app
-    My::App::C::Foo::Bar becomes /tmp/my/app/c/foo/bar
+    My::App::Controller::Foo::Bar becomes /tmp/my/app/c/foo/bar
 
 =cut
 
@@ -185,8 +171,9 @@ sub home {
             # pop off /lib and /blib if they're there
             $home = $home->parent while $home =~ /b?lib$/;
 
-            # only return the dir if it has a Makefile.PL or Build.PL
-            if (-f $home->file("Makefile.PL") or -f $home->file("Build.PL")) {
+            # only return the dir if it has a Makefile.PL or Build.PL or dist.ini
+            if (-f $home->file("Makefile.PL") or -f $home->file("Build.PL")
+                or -f $home->file("dist.ini")) {
 
                 # clean up relative path:
                 # MyApp/script/.. -> MyApp