From 957c9ea90b70861fafc806a78a9fcf6f8dbe19e7 Mon Sep 17 00:00:00 2001 From: AkashSrivastava Date: Tue, 3 Jul 2018 11:46:00 +0530 Subject: [PATCH] Added .unshare_project_with_group to projects --- lib/gitlab/client/projects.rb | 12 ++++++++++++ spec/gitlab/client/projects_spec.rb | 11 +++++++++++ 2 files changed, 23 insertions(+) diff --git a/lib/gitlab/client/projects.rb b/lib/gitlab/client/projects.rb index 29603bba2..99275e9ac 100644 --- a/lib/gitlab/client/projects.rb +++ b/lib/gitlab/client/projects.rb @@ -449,6 +449,18 @@ def share_project_with_group(project, id, group_access) post("/projects/#{url_encode project}/share", body: { group_id: id, group_access: group_access }) end + # Unshare project with group. + # + # @example + # Gitlab.unshare_project_with_group('gitlab', 2) + # + # @param [Integer, String] project The ID or path of a project. + # @param [Integer] id The ID of a group. + # @return [void] This API call returns an empty response body. + def unshare_project_with_group(project, id) + delete("/projects/#{url_encode project}/share/#{id}") + end + # Stars a project. # @see https://docs.gitlab.com/ce/api/projects.html#star-a-project # diff --git a/spec/gitlab/client/projects_spec.rb b/spec/gitlab/client/projects_spec.rb index fc5721a95..9faae44f1 100644 --- a/spec/gitlab/client/projects_spec.rb +++ b/spec/gitlab/client/projects_spec.rb @@ -578,6 +578,17 @@ end end + describe ".unshare_project_with_group" do + before do + stub_delete("/projects/3/share/10", "group") + @group = Gitlab.unshare_project_with_group(3, 10) + end + + it "gets the correct resource" do + expect(a_delete("/projects/3/share/10")).to have_been_made + end + end + describe ".star_project" do before do stub_post("/projects/3/star", "project_star")