From cbbcd6fc7b4e14bd08a8cbfadebf787211e947e2 Mon Sep 17 00:00:00 2001 From: Lisa Hare Date: Mon, 4 Feb 2013 14:30:18 +0000 Subject: [PATCH] Made compatible with Dancer2 --- lib/Dancer/Plugin/REST.pm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/lib/Dancer/Plugin/REST.pm b/lib/Dancer/Plugin/REST.pm index e9fd152..46549b6 100644 --- a/lib/Dancer/Plugin/REST.pm +++ b/lib/Dancer/Plugin/REST.pm @@ -48,8 +48,7 @@ register prepare_serializer_for_format => sub { }; register resource => sub { - my ($resource, %triggers) = @_; - + my (undef, $resource, %triggers) = plugin_args(@_); croak "resource should be given with triggers" unless defined $resource and defined $triggers{get} @@ -71,7 +70,7 @@ register resource => sub { }; register send_entity => sub { - my ($entity, $http_code) = @_; + my (undef, $entity, $http_code) = plugin_args(@_); $http_code ||= 200; @@ -152,16 +151,24 @@ for my $code (keys %http_codes) { $helper_name = "status_${helper_name}"; register $helper_name => sub { + my ($self, $msg) = plugin_args(@_); + my @args; if ($code >= 400) { - send_entity({error => $_[0]}, $code); + @args = ({error => $msg}, $code); + } + else { + @args = ($msg, $code); + } + if ( $self ) { + $self->send_entity(@args); } else { - send_entity($_[0], $code); + send_entity(@args); } }; } -register_plugin; +register_plugin for_versions => [ 1, 2 ]; 1; __END__