X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FHelper.pm;h=ab6b11f26f4fe5286ac0e7286be9db8abb06ff28;hb=c664a7e56564c0dc035f31ed900aa697f2e079e4;hp=c31df6755cd280bd08036f0d45c01de6f4670f1b;hpb=41ca9ba7190b75d9ee3adebf37188309cad986a4;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Helper.pm b/lib/Catalyst/Helper.pm index c31df67..ab6b11f 100644 --- a/lib/Catalyst/Helper.pm +++ b/lib/Catalyst/Helper.pm @@ -77,6 +77,7 @@ sub mk_app { $self->_mk_apptest; $self->_mk_cgi; $self->_mk_fastcgi; + $self->_mk_jsan; $self->_mk_server; $self->_mk_test; $self->_mk_create; @@ -282,6 +283,8 @@ sub _mk_dirs { $self->mk_dir( $self->{static} ); $self->{images} = File::Spec->catdir( $self->{static}, 'images' ); $self->mk_dir( $self->{images} ); + $self->{static} = File::Spec->catdir( $self->{static}, 'js' ); + $self->mk_dir( $self->{static} ); $self->{t} = File::Spec->catdir( $self->{dir}, 't' ); $self->mk_dir( $self->{t} ); $self->mk_dir( File::Spec->catdir( $self->{t}, 'M' ) ); @@ -354,6 +357,14 @@ sub _mk_fastcgi { chmod 0700, "$script/$appprefix\_fastcgi.pl"; } +sub _mk_jsan { + my $self = shift; + my $script = $self->{script}; + my $appprefix = $self->{appprefix}; + $self->render_file( 'jsan', "$script\/$appprefix\_jsan.pl" ); + chmod 0700, "$script/$appprefix\_jsan.pl"; +} + sub _mk_server { my $self = shift; my $script = $self->{script}; @@ -461,6 +472,7 @@ __appclass__ package [% name %]; use strict; +use warnings; # -Debug activates the debug mode for very useful log messages # Static::Simple will serve static files from the root directory @@ -469,10 +481,10 @@ use Catalyst qw/-Debug Static::Simple/; our $VERSION = '0.01'; # Configure the application -[% name %]->config( name => '[% name %]' ); +__PACKAGE__->config( name => '[% name %]' ); # Start the application -[% name %]->setup; +__PACKAGE__->setup; =head1 NAME @@ -675,6 +687,69 @@ This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself. =cut +__jsan__ +[% startperl %] -w + +use strict; +use Catalyst; +use Catalyst::Utils; +use File::Spec; +use FindBin; +use lib "$FindBin::Bin/../lib"; + +# Needed for home detection +{ + no warnings 'all'; + sub Catalyst::setup {} + require [% name %]; +} + +my $home = Catalyst::Utils::home('[% name %]'); +$ENV{JSAN_PREFIX} ||= File::Spec->catdir( $home, 'root', 'static', 'js' ); + +# JSAN shell +require JSAN; +JSAN->control; + +1; + +=head1 NAME + +[% appprefix %]_jsan.pl - JSAN shell + +=head1 SYNOPSIS + +[% appprefix %]_jsan.pl [options] + + Examples: + jsan> index + jsan> install Test.Simple + + See also: + perldoc Catalyst::Manual + perldoc Catalyst::Manual::Intro + + +=head1 DESCRIPTION + +Install JavaScript libraries from the JSAN shell. + +=head1 SEE ALSO + +http://openjsan.org + +=head1 AUTHOR + +Sebastian Riedel, C + +=head1 COPYRIGHT + +Copyright 2004 Sebastian Riedel. All rights reserved. + +This library is free software, you can redistribute it and/or modify +it under the same terms as Perl itself. + +=cut __server__ [% startperl %] -w @@ -890,6 +965,7 @@ __compclass__ package [% class %]; use strict; +use warnings; use base 'Catalyst::Base'; =head1 NAME