A while ago, I told Jay Shirley (in a moment of weakness) that I'd co-maintain the Catalyst-Action-REST distribution. Over the past week, I've closed several bugs, and I feel comfortable enough with the codebase to start making more sweeping changes.
C-A-REST is certainly useful in its current state, but it has its warts. At the same time, I've been thinking about the fact that Catalyst 5.80 (svn) is built on Moose, and about how Moose could possibly help with some of C-A-REST's rough spots.
Here's a list of things I'd like to improve in the near future, in rough order of how much I've thought them through:
with 'Catalyst::Controller::Role::REST'instead. (See also Catalyst::Controller::ActionRole, thanks to Florian Ragwitz.)
Catalyst::Action::-- there's no way to look under
MyApp::Action::or any other namespace. There's also no good way to pass configuration to plugins (a common request). Finally, they all share a lot of code, like looking up data in the stash or reading the body, that needs to be refactored.
$self->method($c, ...)makes me sad; we've talked about using a REST view and/or a REST response role instead. Whatever the solution, the REST component of Catalyst::Controller::REST needs to feel less bolted-on than it currently does.
Check out Catalyst-Action-REST on github, and let me know what you think.