Updated helper for Root class
Sebastian Riedel [Sun, 26 Feb 2006 01:31:02 +0000 (01:31 +0000)]
Changes
lib/Catalyst/Helper.pm

diff --git a/Changes b/Changes
index 331d23a..124c3bd 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,8 @@
 This file documents the revision history for Perl extension Catalyst.
 
+5.66
+        - Added Root controller concept
+
 5.65    2006-02-21 10:34:00
         - Added plugin introspection.
         - Support optional hashref as last param for parameters in uri_for.
index 006cdfb..9e0e9ea 100644 (file)
@@ -84,6 +84,7 @@ sub mk_app {
         $self->_mk_dirs;
         $self->_mk_config;
         $self->_mk_appclass;
+        $self->_mk_rootclass;
         $self->_mk_readme;
         $self->_mk_changes;
         $self->_mk_apptest;
@@ -340,6 +341,15 @@ sub _mk_appclass {
     $self->render_file( 'appclass', "$mod.pm" );
 }
 
+sub _mk_rootclass {
+    my $self = shift;
+    my $c    = $self->{c};
+    my $name = $self->{name};
+    $self->{rootname} =
+      $self->{short} ? "$name\::C::Root" : "$name\::Controller::Root";
+    $self->render_file( 'rootclass', File::Spec->catfile( $c, "Root.pm" ) );
+}
+
 sub _mk_makefile {
     my $self = shift;
     $self->{path} = File::Spec->catfile( 'lib', split( '::', $self->{name} ) );
@@ -558,6 +568,42 @@ __PACKAGE__->setup;
 
 Catalyst based application.
 
+=head1 AUTHOR
+
+[% author %]
+
+=head1 LICENSE
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;
+__rootclass__
+package [% rootname %];
+
+use strict;
+use warnings;
+use base 'Catalyst::Controller';
+
+#
+# A empty namespace attaches this Controller to the root
+#
+__PACKAGE__->config->{namespace} = '';
+
+=head1 NAME
+
+[% rootname %] - Root Controller of this Catalyst based application
+
+=head1 SYNOPSIS
+
+See L<[% name %]>.
+
+=head1 DESCRIPTION
+
+Root Controller of this Catalyst based application.
+
 =head1 METHODS
 
 =cut