From 33c513274d2201787d592850e60a018b777e0c43 Mon Sep 17 00:00:00 2001
From: Matt Humphrey <matt@tomatto.co.uk>
Date: Wed, 20 Feb 2013 11:35:36 +0000
Subject: [PATCH] Fix RESTfulness of project hook deletions by API

---
 doc/api/projects.md                | 2 +-
 lib/api/projects.rb                | 4 ++--
 spec/requests/api/projects_spec.rb | 5 ++---
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/doc/api/projects.md b/doc/api/projects.md
index 13c53880db0..ed9690f09a2 100644
--- a/doc/api/projects.md
+++ b/doc/api/projects.md
@@ -265,7 +265,7 @@ Will return status `201 Created` on success, or `404 Not found` on fail.
 Delete hook from project
 
 ```
-DELETE /projects/:id/hooks
+DELETE /projects/:id/hooks/:hook_id
 ```
 
 Parameters:
diff --git a/lib/api/projects.rb b/lib/api/projects.rb
index 921aa237f26..631ed535459 100644
--- a/lib/api/projects.rb
+++ b/lib/api/projects.rb
@@ -205,8 +205,8 @@ module Gitlab
       #   id (required) - The ID of a project
       #   hook_id (required) - The ID of hook to delete
       # Example Request:
-      #   DELETE /projects/:id/hooks
-      delete ":id/hooks" do
+      #   DELETE /projects/:id/hooks/:hook_id
+      delete ":id/hooks/:hook_id" do
         authorize! :admin_project, user_project
         @hook = user_project.hooks.find(params[:hook_id])
         @hook.destroy
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb
index 586f108ca9e..07f118fe1d3 100644
--- a/spec/requests/api/projects_spec.rb
+++ b/spec/requests/api/projects_spec.rb
@@ -275,11 +275,10 @@ describe Gitlab::API do
     end
   end
 
-
-  describe "DELETE /projects/:id/hooks" do
+  describe "DELETE /projects/:id/hooks/:hook_id" do
     it "should delete hook from project" do
       expect {
-        delete api("/projects/#{project.id}/hooks", user),
+        delete api("/projects/#{project.id}/hooks/#{hook.id}", user),
           hook_id: hook.id
       }.to change {project.hooks.count}.by(-1)
     end
-- 
GitLab