X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst.pm;h=039962b142e8a453efd3e6a39910bfcf565565f0;hb=c905f6c0bf4127644051e90a26c058a8be729c02;hp=cef7ac7be4989384fcde50e97e808fce8304230d;hpb=5baa3bbcb8bea403665bceaa82f819905f0b501f;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index cef7ac7..039962b 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -5,7 +5,6 @@ package Catalyst; use Class::C3; use Moose; -use Class::MOP::Object (); extends 'Catalyst::Component'; use bytes; use Scope::Upper (); @@ -82,7 +81,7 @@ __PACKAGE__->stats_class('Catalyst::Stats'); # Remember to update this in Catalyst::Runtime as well! -our $VERSION = '5.8000_04'; +our $VERSION = '5.8000_05'; sub import { my ( $class, @arguments ) = @_; @@ -618,7 +617,7 @@ sub model { $c->log->warn( '* $c->config->{default_model} # the name of the default model to use' ); $c->log->warn( '* $c->stash->{current_model} # the name of the model to use for this request' ); $c->log->warn( '* $c->stash->{current_model_instance} # the instance of the model to use for this request' ); - $c->log->warn( 'NB: in version 5.80, the "random" behavior will not work at all.' ); + $c->log->warn( 'NB: in version 5.81, the "random" behavior will not work at all.' ); } return $c->_filter_component( $comp ); @@ -671,7 +670,7 @@ sub view { $c->log->warn( '* $c->config->{default_view} # the name of the default view to use' ); $c->log->warn( '* $c->stash->{current_view} # the name of the view to use for this request' ); $c->log->warn( '* $c->stash->{current_view_instance} # the instance of the view to use for this request' ); - $c->log->warn( 'NB: in version 5.80, the "random" behavior will not work at all.' ); + $c->log->warn( 'NB: in version 5.81, the "random" behavior will not work at all.' ); } return $c->_filter_component( $comp ); @@ -862,11 +861,19 @@ loads and instantiates the given class. MyApp->plugin( 'prototype', 'HTML::Prototype' ); $c->prototype->define_javascript_functions; + +B This method of adding plugins is deprecated. The ability +to add plugins like this B in a Catalyst 5.9. +Please do not use this functionality in new code. =cut 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->_register_plugin( $plugin, 1 ); eval { $plugin->import }; @@ -1025,7 +1032,7 @@ EOF # modifiers work correctly in MyApp (as you have to call setup _before_ # applying modifiers). Scope::Upper::reap(sub { - my $meta = $class->Moose::Object::meta(); + my $meta = Class::MOP::get_metaclass_by_name($class); $meta->make_immutable unless $meta->is_immutable; }, 1); @@ -2094,7 +2101,7 @@ sub setup_engine { } if ( $ENV{MOD_PERL} ) { - my $meta = $class->Class::MOP::Object::meta(); + my $meta = Class::MOP::get_metaclass_by_name($class); # create the apache method $meta->add_method('apache' => sub { shift->engine->apache }); @@ -2244,7 +2251,7 @@ sub setup_log { my $env_debug = Catalyst::Utils::env_value( $class, 'DEBUG' ); if ( defined($env_debug) or $levels{debug} ) { - $class->Class::MOP::Object::meta()->add_method('debug' => sub { 1 }); + Class::MOP::get_metaclass_by_name($class)->add_method('debug' => sub { 1 }); $class->log->debug('Debug messages enabled'); } } @@ -2268,7 +2275,7 @@ sub setup_stats { my $env = Catalyst::Utils::env_value( $class, 'STATS' ); if ( defined($env) ? $env : ($stats || $class->debug ) ) { - $class->Class::MOP::Object::meta()->add_method('use_stats' => sub { 1 }); + Class::MOP::get_metaclass_by_name($class)->add_method('use_stats' => sub { 1 }); $class->log->debug('Statistics enabled'); } } @@ -2311,7 +2318,7 @@ the plugin name does not begin with C. $proto->_plugins->{$plugin} = 1; unless ($instant) { no strict 'refs'; - if ( my $meta = $class->Class::MOP::Object::meta() ) { + if ( my $meta = Class::MOP::get_metaclass_by_name($class) ) { my @superclasses = ($plugin, $meta->superclasses ); $meta->superclasses(@superclasses); } else {