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;
# Remember to update this in Catalyst::Runtime as well!
-our $VERSION = '5.8000_01';
+our $VERSION = '5.8000_04';
sub import {
my ( $class, @arguments ) = @_;
sub _filter_component {
my ( $c, $comp, @args ) = @_;
- if ( Scalar::Util::blessed($c) && eval { $comp->can('ACCEPT_CONTEXT'); } ) {
+ if ( eval { $comp->can('ACCEPT_CONTEXT'); } ) {
return $comp->ACCEPT_CONTEXT( $c, @args );
}
$class->setup_finished(1);
}
+=head2 $c->uri_for( $action, \@captures?, @args?, \%query_values? )
+
=head2 $c->uri_for( $path, @args?, \%query_values? )
-Merges path with C<< $c->request->base >> for absolute URIs and with
-C<< $c->namespace >> for relative URIs, then returns a normalized L<URI>
-object. If any args are passed, they are added at the end of the path.
-If the last argument to C<uri_for> is a hash reference, it is assumed to
-contain GET parameter key/value pairs, which will be appended to the URI
-in standard fashion.
+=over
-Note that uri_for is destructive to the passed hashref. Subsequent calls
-with the same hashref may have unintended results.
+=item $action
-Instead of C<$path>, you can also optionally pass a C<$action> object
-which will be resolved to a path using
-C<< $c->dispatcher->uri_for_action >>; if the first element of
-C<@args> is an arrayref it is treated as a list of captures to be passed
-to C<uri_for_action>.
+A Catalyst::Action object representing the Catalyst action you want to
+create a URI for. To get one for an action in the current controller,
+use C<< $c->action('someactionname') >>. To get one from different
+controller, fetch the controller using C<< $c->controller() >>, then
+call C<action_for> on it.
You can maintain the arguments captured by an action (e.g.: Regex, Chained)
using C<< $c->req->captures >>.
# For the Foo action in the Bar controller
$c->uri_for($c->controller->('Bar')->action_for('Foo'), $c->req->captures);
+=back
+
=cut
sub uri_for {
<a href="http://dev.catalyst.perl.org">Wiki</a>
</li>
<li>
- <a href="http://lists.rawmode.org/mailman/listinfo/catalyst">Mailing-List</a>
+ <a href="http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst">Mailing-List</a>
</li>
<li>
<a href="irc://irc.perl.org/catalyst">IRC channel #catalyst on irc.perl.org</a>
}
Class::MOP::load_class($engine);
- #unless (Class::Inspector->loaded($engine)) {
- # require Class::Inspector->filename($engine);
- #}
# check for old engines that are no longer compatible
my $old_engine;
Mailing Lists:
- http://lists.rawmode.org/mailman/listinfo/catalyst
- http://lists.rawmode.org/mailman/listinfo/catalyst-dev
+ http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
+ http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst-dev
Web:
bricas: Brian Cassidy <bricas@cpan.org>
+Caelum: Rafael Kitover <rkitover@io.com>
+
chansen: Christian Hansen
chicks: Christopher Hicks