$self->{name} = $name;
$self->{dir} = $name;
$self->{dir} =~ s/\:\:/-/g;
+ $self->{script} = File::Spec->catdir( $self->{dir}, 'script' );
$self->{appprefix} = Catalyst::Utils::appprefix($name);
$self->{startperl} = $Config{startperl};
$self->{scriptgen} = $Catalyst::CATALYST_SCRIPT_GEN || 4;
$self->{author} = $self->{author} = $ENV{'AUTHOR'}
|| eval { @{ [ getpwuid($<) ] }[6] }
|| 'Catalyst developer';
- $self->_mk_dirs;
- $self->_mk_appclass;
- $self->_mk_build;
- $self->_mk_makefile;
- $self->_mk_readme;
- $self->_mk_changes;
- $self->_mk_apptest;
+
+ unless ( $self->{scripts} ) {
+ $self->_mk_dirs;
+ $self->_mk_appclass;
+ $self->_mk_build;
+ $self->_mk_makefile;
+ $self->_mk_readme;
+ $self->_mk_changes;
+ $self->_mk_apptest;
+ $self->_mk_images;
+ $self->_mk_favicon;
+ }
$self->_mk_cgi;
$self->_mk_fastcgi;
$self->_mk_server;
$self->_mk_test;
$self->_mk_create;
- $self->_mk_images;
- $self->_mk_favicon;
return 1;
}
# Helper
if ($helper) {
- my $comp = 'Model';
- $comp = 'View' if $type eq 'V';
- $comp = 'Controller' if $type eq 'C';
+ my $comp = $self->{long_type};
my $class = "Catalyst::Helper::$comp\::$helper";
eval "require $class";
my ( $self, $file, $content ) = @_;
if ( -e $file ) {
print qq/ exists "$file"\n/;
- return 0 unless $self->{'.newfiles'};
- if ( my $f = IO::File->new("< $file") ) {
- my $oldcontent = join( '', (<$f>) );
- return 0 if $content eq $oldcontent;
+ return 0 unless ( $self->{'.newfiles'} || $self->{scripts} );
+ if ( $self->{'.newfiles'} ) {
+ if ( my $f = IO::File->new("< $file") ) {
+ my $oldcontent = join( '', (<$f>) );
+ return 0 if $content eq $oldcontent;
+ }
+ $file .= '.new';
}
- $file .= '.new';
}
if ( my $f = IO::File->new("> $file") ) {
binmode $f;
sub _mk_dirs {
my $self = shift;
$self->mk_dir( $self->{dir} );
- $self->{script} = File::Spec->catdir( $self->{dir}, 'script' );
$self->mk_dir( $self->{script} );
$self->{lib} = File::Spec->catdir( $self->{dir}, 'lib' );
$self->mk_dir( $self->{lib} );
use strict;
use warnings;
-# -Debug activates the debug mode for very useful log messages
-# Static::Simple will serve static files from the root directory
+#
+# Set flags and add plugins for the application
+#
+# -Debug: activates the debug mode for very useful log messages
+# Static::Simple: will serve static files from the applications root directory
+#
use Catalyst qw/-Debug Static::Simple/;
our $VERSION = '0.01';
+#
# Configure the application
+#
__PACKAGE__->config( name => '[% name %]' );
+#
# Start the application
+#
__PACKAGE__->setup;
=head1 NAME
=cut
+#
# Output a friendly welcome message
+#
sub default : Private {
my ( $self, $c ) = @_;
$c->response->body( $c->welcome_message );
}
-# Uncomment and modify this end action after adding a View class
+#
+# Uncomment and modify this end action after adding a View component
+#
#=item end
#
#=cut
# my ( $self, $c ) = @_;
#
# # Forward to View unless response body is already defined
-# $c->forward('MyApp::V::') unless $c->response->body;
+# $c->forward('View::') unless $c->response->body;
#}
=back
create_makefile_pl => 'passthrough',
license => 'perl',
module_name => '[% name %]',
- requires => { Catalyst => '5.10' },
+ requires => { Catalyst => '5.49' },
create_makefile_pl => 'passthrough',
script_files => [ glob('script/*') ],
test_files => [ glob('t/*.t'), glob('t/*/*.t') ]
use Pod::Usage;
use FindBin;
use lib "$FindBin::Bin/../lib";
-use [% name %];
my $fork = 0;
my $help = 0;
pod2usage(1) if $help;
+if ( $restart ) {
+ $ENV{CATALYST_ENGINE} = 'HTTP::Restarter';
+}
+
+require [% name %];
+
[% name %]->run( $port, $host, {
argv => \@argv,
'fork' => $fork,
=over 4
-# Uncomment, modify and add new actions to fit your needs
+#
+# Uncomment and modify this or add new actions to fit your needs
+#
#=item default
#
#=cut