refactor deserialize RequestRole
Hans Dieter Pearcey [Mon, 13 Apr 2009 06:47:32 +0000 (02:47 -0400)]
lib/Catalyst/Request/REST.pm
lib/Catalyst/RequestRole/Deserialize.pm [new file with mode: 0644]

index fa7838a..2fcf9e2 100644 (file)
@@ -11,8 +11,8 @@ use strict;
 use warnings;
 
 use Moose;
-extends qw/Catalyst::Request Class::Accessor::Fast/;
-with 'Catalyst::RequestRole::REST';
+extends qw/Catalyst::Request/;
+with qw/Catalyst::RequestRole::REST Catalyst::RequestRole::Deserialize/;
 
 use Catalyst::Utils;
 
@@ -36,15 +36,6 @@ sub _insert_self_into {
 
 Catalyst::Request::REST - A REST-y subclass of Catalyst::Request
 
-=head1 METHODS
-
-If the request went through the Deserializer action, this method will
-returned the deserialized data structure.
-
-=cut
-
-__PACKAGE__->mk_accessors(qw(data));
-
 =head1 AUTHOR
 
 Adam Jacob <adam@stalecoffee.org>, with lots of help from mst and jrockway
diff --git a/lib/Catalyst/RequestRole/Deserialize.pm b/lib/Catalyst/RequestRole/Deserialize.pm
new file mode 100644 (file)
index 0000000..c49ade6
--- /dev/null
@@ -0,0 +1,10 @@
+package Catalyst::RequestRole::Deserialize;
+use Moose::Role;
+use namespace::clean -except => 'meta';
+
+has data => (
+  is => 'ro',
+  writer => '_set_data',
+);
+
+1;