X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst.pm;h=8436e3b66c429bfa003de78cfa91c51344ab87d7;hb=5d91ffe2ccdd9a28aac04a2ec7c1032e8f22bd44;hp=f990429b4554898780319a500fea74067da8f7b3;hpb=cce626ed4c3e5c6f85da61cf596d763607fb2480;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index f990429..8436e3b 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -77,6 +77,12 @@ __PACKAGE__->stats_class('Catalyst::Stats'); # Remember to update this in Catalyst::Runtime as well! our $VERSION = '5.8000_06'; + +{ + my $dev_version = $VERSION =~ /_\d{2}$/; + *_IS_DEVELOPMENT_VERSION = sub () { $dev_version }; +} + $VERSION = eval $VERSION; sub import { @@ -90,7 +96,7 @@ sub import { return if $caller eq 'main'; # Kill Adopt::NEXT warnings if we're a non-RC version - if ($VERSION !~ /_\d{2}$/) { + unless (_IS_DEVELOPMENT_VERSION()) { Class::C3::Adopt::NEXT->unimport(qr/^Catalyst::/); } @@ -355,9 +361,9 @@ When called with no arguments it escapes the processing chain entirely. sub detach { my $c = shift; $c->dispatcher->detach( $c, @_ ) } -=head2 $c->visit( $action [, \@arguments ] ) +=head2 $c->visit( $action [, \@captures, \@arguments ] ) -=head2 $c->visit( $class, $method, [, \@arguments ] ) +=head2 $c->visit( $class, $method, [, \@captures, \@arguments ] ) Almost the same as C, but does a full dispatch, instead of just calling the new C<$action> / C<$class-E$method>. This means that C, @@ -381,9 +387,9 @@ been reached directly from a URL. sub visit { my $c = shift; $c->dispatcher->visit( $c, @_ ) } -=head2 $c->go( $action [, \@arguments ] ) +=head2 $c->go( $action [, \@captures, \@arguments ] ) -=head2 $c->go( $class, $method, [, \@arguments ] ) +=head2 $c->go( $class, $method, [, \@captures, \@arguments ] ) Almost the same as C, but does a full dispatch like C, instead of just calling the new C<$action> / @@ -840,10 +846,21 @@ L. =head2 $c->debug -Overload to enable debug messages (same as -Debug option). +Returns 1 if debug mode is enabled, 0 otherwise. -Note that this is a static method, not an accessor and should be overloaded -by declaring "sub debug { 1 }" in your MyApp.pm, not by calling $c->debug(1). +You can enable debug mode in several ways: + +=over + +=item With the environment variables MYAPP_DEBUG, or CATALYST_DEBUG + +=item The -Debug option in your MyApp.pm + +=item By declaring "sub debug { 1 }" in your MyApp.pm. + +=back + +Calling $c->debug(1) has no effect. =cut @@ -897,7 +914,7 @@ sub plugin { my ( $class, $name, $plugin, @args ) = @_; # See block comment in t/unit_core_plugin.t - $class->log->debug(qq/Adding plugin using the ->plugin method is deprecated, and will be removed in Catalyst 5.9/); + $class->log->warn(qq/Adding plugin using the ->plugin method is deprecated, and will be removed in Catalyst 5.9/); $class->_register_plugin( $plugin, 1 );