[libdancer-plugin-rest-perl] 15/63: load serializers list from config is available

Jonas Smedegaard dr at jones.dk
Wed Jul 2 11:44:50 UTC 2014


This is an automated email from the git hooks/post-receive script.

js pushed a commit to annotated tag 0.07
in repository libdancer-plugin-rest-perl.

commit a05d52d9e057dfd11704e5ff4a5c320adebe76a7
Author: franck cuny <franck at lumberjaph.net>
Date:   Sat Apr 3 18:41:47 2010 +0200

    load serializers list from config is available
---
 lib/Dancer/Plugin/REST.pm | 32 +++++++++++++++++++-------------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/lib/Dancer/Plugin/REST.pm b/lib/Dancer/Plugin/REST.pm
index 6d15da9..5b1b7df 100644
--- a/lib/Dancer/Plugin/REST.pm
+++ b/lib/Dancer/Plugin/REST.pm
@@ -1,18 +1,24 @@
 package Dancer::Plugin::REST;
 use Dancer ':syntax';
 use Dancer::Plugin;
+use Dancer::Config qw/plugin_setting/;
 
 our $AUTHORITY = 'SUKRIA';
 our $VERSION = '0.1';
 
 register prepare_serializer_for_format =>
 sub {
-    my $serializers = {
-        'json' => 'JSON',
-        'yml'  => 'YAML',
-        'xml'  => 'XML',
-        'dump' => 'Dumper',
-    };
+    my $conf        = plugin_setting;
+    my $serializers = (
+        ( $conf && exists $conf->{serializers} )
+        ? $conf->{serializers}
+        : {
+            'json' => 'JSON',
+            'yml'  => 'YAML',
+            'xml'  => 'XML',
+            'dump' => 'Dumper',
+        }
+    );
 
     before sub {
         my $format = params->{'format'};
@@ -30,10 +36,10 @@ sub {
     my ($resource, %triggers) = @_;
 
     die "resource should be given with triggers"
-        unless defined $resource and 
+        unless defined $resource and
             defined $triggers{get} and
-            defined $triggers{update} and 
-            defined $triggers{delete} and 
+            defined $triggers{update} and
+            defined $triggers{delete} and
             defined $triggers{create};
 
     get "/${resource}/:id" => $triggers{get};
@@ -68,13 +74,13 @@ Dancer::Plugin::REST - A plugin for writing RESTful apps with Dancer
 
     prepare_serializer_for_format;
 
-    get '/user/:id.:format' => sub { 
-        User->find(params->{id});   
+    get '/user/:id.:format' => sub {
+        User->find(params->{id});
     };
 
     # curl http://mywebservice/user/42.json
     { "id": 42, "name": "John Foo", email: "jhon.foo at example.com"}
-    
+
     # curl http://mywebservice/user/42.yml
     --
     id: 42
@@ -102,7 +108,7 @@ handlers, without taking care of the outgoing data format.
 
 This keyword lets you declare a resource your application will handle.
 
-    resource user => 
+    resource user =>
         get    => sub { # return user where id = params->{id}   },
         create => sub { # create a new user with params->{user} },
         delete => sub { # delete user where id = params->{id}   },

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libdancer-plugin-rest-perl.git



More information about the Pkg-perl-cvs-commits mailing list