Move setup to C::Setup
Christian Hansen [Tue, 21 Jun 2005 15:57:52 +0000 (15:57 +0000)]
lib/Catalyst.pm
lib/Catalyst/Setup.pm

index 6c72b8b..c5b03e3 100644 (file)
@@ -11,8 +11,6 @@ use Text::ASCIITable;
 use Path::Class;
 our $CATALYST_SCRIPT_GEN = 4;
 
-__PACKAGE__->mk_classdata($_) for qw/arguments dispatcher engine log/;
-
 our $VERSION = '5.24';
 our @ISA;
 
@@ -269,47 +267,6 @@ sub plugin {
       if $class->debug;
 }
 
-=item $class->setup
-
-Setup.
-
-    MyApp->setup;
-
-=cut
-
-sub setup {
-    my $class = shift;
-    
-    # Call plugins setup
-    $class->NEXT::setup;
-
-    # Initialize our data structure
-    $class->components( {} );
-
-    $class->setup_components;
-
-    if ( $class->debug ) {
-        my $t = Text::ASCIITable->new;
-        $t->setOptions( 'hide_HeadRow',  1 );
-        $t->setOptions( 'hide_HeadLine', 1 );
-        $t->setCols('Class');
-        $t->setColWidth( 'Class', 75, 1 );
-        $t->addRow($_) for sort keys %{ $class->components };
-        $class->log->debug( "Loaded components:\n" . $t->draw )
-          if ( @{ $t->{tbl_rows} } );
-    }
-
-    # Add our self to components, since we are also a component
-    $class->components->{$class} = $class;
-
-    $class->setup_actions;
-
-    if ( $class->debug ) {
-        my $name = $class->config->{name} || 'Application';
-        $class->log->info("$name powered by Catalyst $Catalyst::VERSION");
-    }
-}
-
 =back
 
 =head1 LIMITATIONS
index e7bc54b..fe8036c 100644 (file)
@@ -1,12 +1,15 @@
 package Catalyst::Setup;
 
 use strict;
+use base qw/Class::Data::Inheritable/;
 use Catalyst::Exception;
 use Catalyst::Log;
 use Catalyst::Utils;
 use Path::Class;
 use Text::ASCIITable;
 
+__PACKAGE__->mk_classdata($_) for qw/arguments dispatcher engine log/;
+
 =head1 NAME
 
 Catalyst::Setup - The Catalyst Setup class
@@ -21,6 +24,47 @@ See L<Catalyst>.
 
 =over 4
 
+=item $c->setup
+
+Setup.
+
+    $c->setup;
+
+=cut
+
+sub setup {
+    my $class = shift;
+
+    # Call plugins setup
+    $class->NEXT::setup;
+
+    # Initialize our data structure
+    $class->components( {} );
+
+    $class->setup_components;
+
+    if ( $class->debug ) {
+        my $t = Text::ASCIITable->new;
+        $t->setOptions( 'hide_HeadRow',  1 );
+        $t->setOptions( 'hide_HeadLine', 1 );
+        $t->setCols('Class');
+        $t->setColWidth( 'Class', 75, 1 );
+        $t->addRow($_) for sort keys %{ $class->components };
+        $class->log->debug( "Loaded components:\n" . $t->draw )
+          if ( @{ $t->{tbl_rows} } );
+    }
+
+    # Add our self to components, since we are also a component
+    $class->components->{$class} = $class;
+
+    $class->setup_actions;
+
+    if ( $class->debug ) {
+        my $name = $class->config->{name} || 'Application';
+        $class->log->info("$name powered by Catalyst $Catalyst::VERSION");
+    }
+}
+
 =item $c->setup_components
 
 Setup components.