X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst.pm;h=8436e3b66c429bfa003de78cfa91c51344ab87d7;hb=5d91ffe2ccdd9a28aac04a2ec7c1032e8f22bd44;hp=278a2f5e29361c6eaa59e9c5d620e2c7e3ee9deb;hpb=d6ce7d521c72f863c15f376498d53c5409792d7c;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 278a2f5..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