From: Tomas Doran Date: Mon, 20 Apr 2009 22:28:46 +0000 (+0000) Subject: Unfuck Catalyst::Plugin::Log::Dispatch X-Git-Tag: 5.80002~12 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=71415389f4a9968c22da3255dcaaf2669fa58731;p=catagits%2FCatalyst-Runtime.git Unfuck Catalyst::Plugin::Log::Dispatch --- diff --git a/Changes b/Changes index fd8b2eb..8581c86 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,7 @@ # This file documents the revision history for Perl extension Catalyst. + - Add backwards compatibility method for Catalyst::Log->body, which + has been made private (t0m) - Fix so that calling $c->req->parameters(undef) does not flatten the request parameters with undef + test (t0m) - Fix so that width of table of unattached actions for debugging diff --git a/lib/Catalyst/Log.pm b/lib/Catalyst/Log.pm index a131821..a28c373 100644 --- a/lib/Catalyst/Log.pm +++ b/lib/Catalyst/Log.pm @@ -101,6 +101,21 @@ sub _send_to_log { print STDERR @_; } +# 5.7 compat code. +# Alias _body to body, add a before modifier to warn.. +my $meta = __PACKAGE__->meta; # Calling meta method here fine as we happen at compile time. +$meta->add_method('body', $meta->get_method('_body')); +my %package_hash; # Only warn once per method, per package. + # I haven't provided a way to disable them, patches welcome. +$meta->add_before_method_modifier('body', sub { + my $class = blessed(shift); + $package_hash{$class}++ || do { + warn("Class $class is calling the deprecated method Catalyst::Log->body method,\n" + . "this will be removed in Catalyst 5.81"); + }; +}); +# End 5.70 backwards compatibility hacks. + no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0);