about summary refs log tree commit diff
path: root/lib/MooseX/Net/API/Role/Serialize.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/MooseX/Net/API/Role/Serialize.pm')
-rw-r--r--lib/MooseX/Net/API/Role/Serialize.pm21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/MooseX/Net/API/Role/Serialize.pm b/lib/MooseX/Net/API/Role/Serialize.pm
new file mode 100644
index 0000000..20e2b97
--- /dev/null
+++ b/lib/MooseX/Net/API/Role/Serialize.pm
@@ -0,0 +1,21 @@
+package MooseX::Net::API::Roles::Serialize;
+
+use Moose::Role;
+use JSON::XS;
+use YAML::Syck;
+use XML::Simple;
+
+sub _to_json {
+    return encode_json( $_[1] );
+}
+
+sub _to_yaml {
+    return Load $_[1];
+}
+
+sub _to_xml {
+    my $xml = XML::Simple->new( ForceArray => 0 );
+    $xml->XMLin("$_[0]");
+}
+
+1;