cleaning up the namespace
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Utils.pm
index 45f52e4..e067248 100644 (file)
@@ -84,6 +84,20 @@ sub class2classsuffix {
     return $class;
 }
 
+=head2 class2classshortsuffix($class)
+
+    MyApp::Controller::Foo::Bar becomes Foo::Bar
+
+=cut
+
+sub class2classshortsuffix {
+    my $class  = shift || '';
+    my $prefix = class2classprefix($class) || '';
+    $class =~ s/$prefix\:://;
+    return $class;
+}
+
+
 =head2 class2env($class);
 
 Returns the environment name for class.
@@ -158,8 +172,17 @@ sub class2tempdir {
 
 Returns home directory for given class.
 
+=head2 dist_indicator_file_list
+
+Returns a list of files which can be tested to check if you're inside
+a checkout
+
 =cut
 
+sub dist_indicator_file_list {
+    qw{Makefile.PL Build.PL dist.ini};
+}
+
 sub home {
     my $class = shift;
 
@@ -179,9 +202,7 @@ sub home {
             $home = $home->parent while $home =~ /b?lib$/;
 
             # 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")) {
-
+            if (grep { -f $home->file($_) } dist_indicator_file_list()) {
                 # clean up relative path:
                 # MyApp/script/.. -> MyApp