X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst.pm;h=71ce8cce0070baa35e90db9a4b62015571c4170b;hp=b103d9a2dacd291804a588c8204b323e7868908a;hb=c4770d9b88bb84708a170f0d21484b6ad5123f3f;hpb=bf1f2c60b9a7191134cb962aeb1c98fe1f1ea372
diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm
index b103d9a..71ce8cc 100644
--- a/lib/Catalyst.pm
+++ b/lib/Catalyst.pm
@@ -17,7 +17,9 @@ use Time::HiRes qw/gettimeofday tv_interval/;
use URI;
use Scalar::Util qw/weaken/;
-__PACKAGE__->mk_accessors(qw/counter depth request response state/);
+__PACKAGE__->mk_accessors(
+ qw/counter depth request response state action namespace/
+);
# Laziness++
*comp = \&component;
@@ -36,12 +38,12 @@ our $DETACH = "catalyst_detach\n";
require Module::Pluggable::Fast;
# Helper script generation
-our $CATALYST_SCRIPT_GEN = 8;
+our $CATALYST_SCRIPT_GEN = 10;
__PACKAGE__->mk_classdata($_)
for qw/components arguments dispatcher engine log/;
-our $VERSION = '5.49_01';
+our $VERSION = '5.49_02';
sub import {
my ( $class, @arguments ) = @_;
@@ -167,6 +169,10 @@ Specify log level.
=over 4
+=item $c->action
+
+Accessor for the current action
+
=item $c->comp($name)
=item $c->component($name)
@@ -251,6 +257,27 @@ from the function.
sub forward { my $c = shift; $c->dispatcher->forward( $c, @_ ) }
+=item $c->namespace
+
+Accessor to the namespace of the current action
+
+=item $c->path_to(@path)
+
+Merges C<@path> with $c->config->{home} and returns a L
Welcome to the wonderful world of Catalyst. - This MVC framework will make web development - something you had never expected it to be: - Fun, rewarding and quick.
+ This MVC + framework will make web development something you had + never expected it to be: Fun, rewarding and quick.That really depends on what you want to do. We do, however, provide you with a few starting points.
@@ -654,7 +695,7 @@ perldoc isa('Catalyst::Engine::Apache') + && !Catalyst::Engine::Apache->VERSION ) + { + $old_engine = 1; + } + + elsif ( $engine->isa('Catalyst::Engine::Server::Base') + && Catalyst::Engine::Server->VERSION le '0.02' ) + { + $old_engine = 1; + } + + elsif ($engine->isa('Catalyst::Engine::HTTP::POE') + && $engine->VERSION eq '0.01' ) + { + $old_engine = 1; + } + + elsif ($engine->isa('Catalyst::Engine::Zeus') + && $engine->VERSION eq '0.01' ) + { + $old_engine = 1; + } + + if ($old_engine) { + Catalyst::Exception->throw( message => + qq/Engine "$engine" is not supported by this version of Catalyst/ + ); + } + # engine instance $class->engine( $engine->new ); } @@ -1509,8 +1608,27 @@ sub write { return $c->engine->write( $c, @_ ); } +=item version + +Returns the Catalyst version number. mostly useful for powered by messages +in template systems. + +=cut + +sub version { return $Catalyst::VERSION } + =back +=head1 INTERNAL ACTIONS + +Catalyst uses internal actions like C<_DISPATCH>, C<_BEGIN>, C<_AUTO> +C<_ACTION> and C<_END>, these are by default not shown in the private +action table. + +But you can deactivate this with a config parameter. + + MyApp->config->{show_internal_actions} = 1; + =head1 CASE SENSITIVITY By default Catalyst is not case sensitive, so C