X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst.pm;h=56260719f495ff86da8bee8d7416e0587828f473;hb=8ee06de7066f445f4f60cbf64ddbb2f6f2e5cd87;hp=2568fdd6411c6f6032c842d7d19baa85f8a21c81;hpb=2e1f92a3602e2ff4bad339c31b5d459a0f5032f2;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 2568fdd..5626071 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -84,7 +84,7 @@ __PACKAGE__->stats_class('Catalyst::Stats'); # Remember to update this in Catalyst::Runtime as well! -our $VERSION = '5.89002'; +our $VERSION = '5.89003'; sub import { my ( $class, @arguments ) = @_; @@ -1123,7 +1123,7 @@ sub setup { $class->setup_plugins( delete $flags->{plugins} ); $class->setup_dispatcher( delete $flags->{dispatcher} ); if (my $engine = delete $flags->{engine}) { - $class->log->warn("Specifying the engine in ->setup is no longer supported, XXX FIXME"); + $class->log->warn("Specifying the engine in ->setup is no longer supported, see Catalyst::Upgrading"); } $class->setup_engine(); $class->setup_stats( delete $flags->{stats} ); @@ -2604,7 +2604,8 @@ Sets up engine. sub engine_class { my $class = shift; - $class->engine_loader->catalyst_engine_class(@_); + confess("Setting ->engine_class manually is no longer supported. XXX FIXME") if scalar @_; + $class->engine_loader->catalyst_engine_class; } sub setup_engine { @@ -2626,12 +2627,19 @@ sub setup_engine { if ($ENV{MOD_PERL}) { my $apache = $class->engine_loader->auto; - # FIXME - Immutable - $class->meta->add_method(handler => sub { + + my $meta = find_meta($class); + my $was_immutable = $meta->is_immutable; + my %immutable_options = $meta->immutable_options; + $meta->make_mutable if $was_immutable; + + $meta->add_method(handler => sub { my $r = shift; my $psgi_app = $class->psgi_app; $apache->call_app($r, $psgi_app); }); + + $meta->make_immutable(%immutable_options) if $was_immutable; } $class->engine( $engine->new );