package Catalyst;
-# we don't need really need this, but if we load it before MRO::Compat gets
-# loaded (via Moose and Class::MOP), we can avoid some nasty warnings
-use Class::C3;
-
use Moose;
extends 'Catalyst::Component';
use bytes;
use URI ();
use URI::http;
use URI::https;
-use Scalar::Util qw/weaken blessed/;
+use Scalar::Util qw/weaken/;
use Tree::Simple qw/use_weak_refs/;
use Tree::Simple::Visitor::FindByUID;
use attributes;
calling the new C<$action> / C<$class-E<gt>$method>. This means that C<begin>,
C<auto> and the method you go to are called, just like a new request.
+In addition both C<< $c->action >> and C<< $c->namespace >> are localized.
+This means, for example, that $c->action methods such as C<name>, C<class> and
+C<reverse> return information for the visited action when they are invoked
+within the visited action. This is different from the behavior of C<forward>
+which continues to use the $c->action object from the caller action even when
+invoked from the callee.
+
C<$c-E<gt>stash> is kept unchanged.
In effect, C<visit> allows you to "wrap" another action, just as it
Scope::Upper::reap(sub {
my $meta = Class::MOP::get_metaclass_by_name($class);
$meta->make_immutable unless $meta->is_immutable;
- }, 1);
+ }, Scope::Upper::SCOPE(1));
+ $class->setup_finalize;
+}
+
+sub setup_finalize {
+ my ($class) = @_;
$class->setup_finished(1);
}
the_jester: Jesse Sheidlower
+t0m: Tomas Doran <bobtfish@bobtfish.net>
+
Ulf Edvinsson
willert: Sebastian Willert <willert@cpan.org>