X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FAction%2FSerializeBase.pm;h=a4af5930d124700f1fac0d88067e45df3f6c385b;hb=351f252f57354a5a0c50e3c931b0addd4f1988ff;hp=ac4934fb61d2dcdce52154b30f8da4e9677e5558;hpb=a51e7bbd48e4dd0c958549c3392690b00c3f2007;p=catagits%2FCatalyst-Action-REST.git diff --git a/lib/Catalyst/Action/SerializeBase.pm b/lib/Catalyst/Action/SerializeBase.pm index ac4934f..a4af593 100644 --- a/lib/Catalyst/Action/SerializeBase.pm +++ b/lib/Catalyst/Action/SerializeBase.pm @@ -1,23 +1,23 @@ -# -# Catlyst::Action::SerializeBase.pm -# Created by: Adam Jacob, Marchex, -# -# $Id$ - package Catalyst::Action::SerializeBase; -use strict; -use warnings; +use Moose; +use namespace::autoclean; -use base 'Catalyst::Action'; +extends 'Catalyst::Action'; use Module::Pluggable::Object; -use Data::Dump qw(dump); use Catalyst::Request::REST; +use Catalyst::Utils (); + +our $VERSION = '0.98'; +$VERSION = eval $VERSION; -Catalyst->request_class('Catalyst::Request::REST') - unless Catalyst->request_class->isa('Catalyst::Request::REST'); +after BUILDARGS => sub { + my $class = shift; + my $config = shift; + Catalyst::Request::REST->_insert_self_into( $config->{class} ); +}; -__PACKAGE__->mk_accessors(qw(_serialize_plugins _loaded_plugins)); +has [qw(_serialize_plugins _loaded_plugins)] => ( is => 'rw' ); sub _load_content_plugins { my $self = shift; @@ -45,12 +45,15 @@ sub _load_content_plugins { my $config; - if ( exists $controller->config->{'serialize'} ) { - $c->log->info("Using deprecated configuration for Catalyst::Action::REST!"); - $c->log->info("Please see perldoc Catalyst::Action::REST for the update guide"); - $config = $controller->config->{'serialize'}; + if ( exists $controller->{'serialize'} ) { + $c->log->info("Catalyst::Action::REST - deprecated use of 'serialize' for configuration."); + $c->log->info("Please see 'CONFIGURATION' in Catalyst::Controller::REST."); + $config = $controller->{'serialize'}; + # if they're using the deprecated config, they may be expecting a + # default mapping too. + $config->{map} ||= $controller->{map}; } else { - $config = $controller->config; + $config = $controller; } $map = $config->{'map'}; @@ -152,13 +155,13 @@ sub _serialize_bad_request { return undef; } +__PACKAGE__->meta->make_immutable; + 1; =head1 NAME -B - -Base class for Catalyst::Action::Serialize and Catlayst::Action::Deserialize. +Catalyst::Action::SerializeBase - Base class for Catalyst::Action::Serialize and Catlayst::Action::Deserialize. =head1 DESCRIPTION @@ -170,15 +173,12 @@ code for L and L. L, L, L, -=head1 AUTHOR - -Adam Jacob , with lots of help from mst and jrockway. +=head1 AUTHORS -Marchex, Inc. paid me while I developed this module. (http://www.marchex.com) +See L for authors. =head1 LICENSE You may distribute this code under the same terms as Perl itself. =cut -