typo
[catagits/Catalyst-Runtime.git] / lib / Catalyst.pm
index 328a358..90d158a 100644 (file)
@@ -1,11 +1,11 @@
 package Catalyst;
 
 use strict;
-use base 'Class::Data::Inheritable';
+use base 'Catalyst::Base';
 use UNIVERSAL::require;
 use Catalyst::Log;
 
-__PACKAGE__->mk_classdata($_) for qw/_config engine log/;
+__PACKAGE__->mk_classdata($_) for qw/engine log/;
 
 our $VERSION = '5.00';
 our @ISA;
@@ -40,23 +40,19 @@ Catalyst - The Elegant MVC Web Application Framework
 
     use Catalyst qw/-Debug -Engine=CGI/;
 
-    __PACKAGE__->action( '!default' => sub { $_[1]->res->output('Hello') } );
+    sub default : Private { $_[1]->res->output('Hello') } );
 
-    __PACKAGE__->action(
-        'index.html' => sub {
-            my ( $self, $c ) = @_;
-            $c->res->output('Hello');
-            $c->forward('_foo');
-        }
-    );
+    sub index : Path('/index.html') {
+        my ( $self, $c ) = @_;
+        $c->res->output('Hello');
+        $c->forward('_foo');
+    }
 
-    __PACKAGE__->action(
-        '/^product[_]*(\d*).html$/' => sub {
-            my ( $self, $c ) = @_;
-            $c->stash->{template} = 'product.tt';
-            $c->stash->{product} = $c->req->snippets->[0];
-        }
-    );
+    sub product : Regex('/^product[_]*(\d*).html$/') {
+        my ( $self, $c ) = @_;
+        $c->stash->{template} = 'product.tt';
+        $c->stash->{product} = $c->req->snippets->[0];
+    }
 
 See also L<Catalyst::Manual::Intro>
 
@@ -125,18 +121,6 @@ Returns a hashref containing your applications settings.
 
 =cut
 
-sub config {
-    my $self = shift;
-    $self->_config( {} ) unless $self->_config;
-    if ( $_[0] ) {
-        my $config = $_[1] ? {@_} : $_[0];
-        while ( my ( $key, $val ) = each %$config ) {
-            $self->_config->{$key} = $val;
-        }
-    }
-    return $self->_config;
-}
-
 sub import {
     my ( $self, @options ) = @_;
     my $caller = caller(0);
@@ -147,7 +131,7 @@ sub import {
     }
 
     if ( $caller->engine ) {
-        return; # Catalyst is allready initialized
+        return;    # Catalyst is allready initialized
     }
 
     unless ( $caller->log ) {
@@ -161,10 +145,12 @@ sub import {
     }
 
     # Options
-    my $engine = $ENV{MOD_PERL}
+    my $engine =
+      $ENV{MOD_PERL}
       ? 'Catalyst::Engine::Apache'
       : 'Catalyst::Engine::CGI';
 
+    my @plugins;
     foreach (@options) {
         if (/^\-Debug$/) {
             next if $caller->debug;
@@ -183,24 +169,19 @@ sub import {
                 $caller->log->error(qq/Couldn't load plugin "$plugin", "$@"/);
             }
             else {
-                $caller->log->debug(qq/Loaded plugin "$plugin"/)
-                  if $caller->debug;
+                push @plugins, "  $plugin";
                 no strict 'refs';
                 push @{"$caller\::ISA"}, $plugin;
             }
         }
     }
+    $caller->log->debug( 'Loaded plugins', @plugins )
+      if ( @plugins && $caller->debug );
 
     # Engine
     $engine = "Catalyst::Engine::$ENV{CATALYST_ENGINE}"
       if $ENV{CATALYST_ENGINE};
 
-    if ( $engine eq 'Catalyst::Engine::Server' ) {
-        $engine = 'Catalyst::Engine::HTTP::Daemon';
-        $caller->log->warn(  "Catalyst::Engine::Server is deprecated, "
-                           . "using Catalyst::Engine::HTTP::Daemon." );
-    }
-
     $engine->require;
     die qq/Couldn't load engine "$engine", "$@"/ if $@;
     {