Version 1.39
[catagits/Catalyst-Devel.git] / lib / Catalyst / Helper.pm
index f2e39c9..e075d6c 100644 (file)
@@ -19,7 +19,7 @@ use namespace::autoclean;
 with 'MooseX::Emulate::Class::Accessor::Fast';
 
 # Change Catalyst/Devel.pm also
-our $VERSION = '1.33';
+our $VERSION = '1.39';
 
 my %cache;
 
@@ -49,7 +49,7 @@ sub get_sharedir_file {
     }
     my $file = file( $dist_dir, @filename);
     Carp::confess("Cannot find $file") unless -r $file;
-    my $contents = $file->slurp;
+    my $contents = $file->slurp(iomode =>  "<:raw");
     return $contents;
 }
 
@@ -121,10 +121,9 @@ sub mk_app {
     my $gen_app = ( $self->{scripts} || $self->{makefile} ) ? 0 : 1;
 
     if ($gen_app) {
-        for ( qw/ _mk_dirs _mk_config _mk_appclass _mk_rootclass _mk_readme
-              _mk_changes _mk_apptest _mk_podtest _mk_podcoveragetest
+        for ( qw/ _mk_dirs _mk_config _mk_psgi _mk_appclass _mk_rootclass
+              _mk_readme _mk_changes _mk_apptest _mk_podtest _mk_podcoveragetest
               _mk_images _mk_favicon/ ) {
-            
             $self->$_;
         }
     }
@@ -132,7 +131,7 @@ sub mk_app {
         $self->_mk_makefile;
     }
     if ($gen_scripts) {
-        for ( qw/ _mk_cgi _mk_fastcgi _mk_server 
+        for ( qw/ _mk_cgi _mk_fastcgi _mk_server
                   _mk_test _mk_create _mk_information
         / ) {
               $self->$_;
@@ -141,7 +140,7 @@ sub mk_app {
     return $self->{dir};
 }
 
-## not much of this can really be changed, mk_compclass must be left for 
+## not much of this can really be changed, mk_compclass must be left for
 ## backcompat
 sub mk_component {
     my $self = shift;
@@ -325,7 +324,8 @@ sub render_file_contents {
       || Catalyst::Exception->throw(
         message => qq/Couldn't process "$template", / . $t->error() );
     my $file = $self->mk_file( $path, $output );
-    chmod $perms, file($file) if $perms;
+    chmod $perms, file($file) if defined $perms;
+    return $file;
 }
 
 sub _mk_information {
@@ -388,7 +388,7 @@ sub _mk_rootclass {
 
 sub _mk_makefile {
     my $self = shift;
-    $self->{path} = dir( 'lib', split( '::', $self->{name} ) );
+    $self->{path} = join('/', 'lib', split( '::', $self->{name} ) );
     $self->{path} .= '.pm';
     my $dir = $self->{dir};
     $self->render_sharedir_file( 'Makefile.PL.tt', file($dir, "Makefile.PL") );
@@ -401,6 +401,14 @@ sub _mk_makefile {
     }
 }
 
+sub _mk_psgi {
+    my $self      = shift;
+    my $dir       = $self->{dir};
+    my $appprefix = $self->{appprefix};
+    $self->render_sharedir_file( 'myapp.psgi.tt',
+        file( $dir, "$appprefix.psgi" ) );
+}
+
 sub _mk_config {
     my $self      = shift;
     my $dir       = $self->{dir};
@@ -445,7 +453,7 @@ sub _mk_cgi {
     my $script    = $self->{script};
     my $appprefix = $self->{appprefix};
     $self->render_sharedir_file( file('script', 'myapp_cgi.pl.tt'),
-        file($script,"$appprefix\_cgi.pl"), undef, 0700 );
+        file($script,"$appprefix\_cgi.pl"), undef, 0755 );
 }
 
 sub _mk_fastcgi {
@@ -453,7 +461,7 @@ sub _mk_fastcgi {
     my $script    = $self->{script};
     my $appprefix = $self->{appprefix};
     $self->render_sharedir_file( file('script', 'myapp_fastcgi.pl.tt'),
-        file($script, "$appprefix\_fastcgi.pl"), undef, 0700 );
+        file($script, "$appprefix\_fastcgi.pl"), undef, 0755 );
 }
 
 sub _mk_server {
@@ -461,7 +469,7 @@ sub _mk_server {
     my $script    = $self->{script};
     my $appprefix = $self->{appprefix};
     $self->render_sharedir_file( file('script', 'myapp_server.pl.tt'),
-        file($script, "$appprefix\_server.pl"), undef, 0700 );
+        file($script, "$appprefix\_server.pl"), undef, 0755 );
 }
 
 sub _mk_test {
@@ -469,7 +477,7 @@ sub _mk_test {
     my $script    = $self->{script};
     my $appprefix = $self->{appprefix};
     $self->render_sharedir_file( file('script', 'myapp_test.pl.tt'),
-        file($script, "$appprefix\_test.pl"), undef, 0700 );
+        file($script, "$appprefix\_test.pl"), undef, 0755 );
 }
 
 sub _mk_create {
@@ -477,7 +485,7 @@ sub _mk_create {
     my $script    = $self->{script};
     my $appprefix = $self->{appprefix};
     $self->render_sharedir_file( file('script', 'myapp_create.pl.tt'),
-        file($script, "$appprefix\_create.pl"), undef, 0700 );
+        file($script, "$appprefix\_create.pl"), undef, 0755 );
 }
 
 sub _mk_compclass {