From: adam Date: Mon, 16 Oct 2006 22:35:08 +0000 (+0000) Subject: Adding basic pod to Catalyst::Action::REST X-Git-Tag: 1.08~299 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Action-Serialize-Data-Serializer.git;a=commitdiff_plain;h=7328f0ab3294f5e6546109a7aff256b7d2a898c4 Adding basic pod to Catalyst::Action::REST Adding initial Makefile.PL --- diff --git a/Makefile.PL b/Makefile.PL new file mode 100644 index 0000000..d542760 --- /dev/null +++ b/Makefile.PL @@ -0,0 +1,17 @@ +use inc::Module::Install 0.64; + +perl_version '5.8.1'; + +name 'Catalyst-Action-REST'; +all_from 'lib/Catalyst/Action/Rest.pm'; + +'Catalyst' => '5.7001', +'Params::Validate' => '0.76', +'YAML::Syck' => '0.67', +'Module::Pluggable::Object' => undef, +'LWP::UserAgent' => '2.033', +'Data::Serializer' => '0.36', +'Class::Inspector' => '1.13', + +WriteAll; + diff --git a/lib/Catalyst/Action/REST.pm b/lib/Catalyst/Action/REST.pm index d04fa0d..5c0d112 100644 --- a/lib/Catalyst/Action/REST.pm +++ b/lib/Catalyst/Action/REST.pm @@ -12,7 +12,50 @@ use warnings; use base 'Catalyst::Action'; use Class::Inspector; +use 5.8.1; +my +$VERSION = '0.1'; + +=head1 NAME + +Catalyst::Action::REST - Automated REST Method Dispatching + +=head1 SYNOPSIS + + sub foo :Local :ActionClass('REST') {} + + sub foo_GET { + ... do something for GET requests ... + } + + sub foo_PUT { + ... do somethign for PUT requests ... + } + +=head1 DESCRIPTION + +This Action handles doing automatic method dispatching for REST requests. It +takes a normal Catalyst action, and changes the dispatch to append an +underscore and method name. + +For example, in the synopsis above, calling GET on "/foo" would result in +the foo_GET method being dispatched. + +If a method is requested that is not implemented, this action will +return a status 405 (Method Not Found). It will populate the "Allow" header +with the list of implemented request methods. + +=head1 METHODS + +=over 4 + +=item dispatch + +This method overrides the default dispatch mechanism to the re-dispatching +mechanism described above. + +=cut sub dispatch { my ( $self, $c ) = @_; @@ -48,3 +91,22 @@ sub _return_405 { } 1; + +=back + +=head1 SEE ALSO + +You likely want to look at L, which implements +a sensible set of defaults for a controller doing REST. + +L, L + +=head1 AUTHOR + +Adam Jacob , with lots of help from mst and jrockway + +=head1 LICENSE + +You may distribute this code under the same terms as Perl itself. + +=cut