summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2017-08-30 13:33:39 +0100
committerSean McGivern <sean@gitlab.com>2017-08-30 14:32:02 +0100
commitb9d8946395ebe2b0d05e464e6a2af1181c7f1b90 (patch)
treea87957b03646fe6ac3a292a07269e3937dad574c
parent07a7801c03ec6f5bccd517c38beaec426c554e11 (diff)
downloadgitlab-ce-b9d8946395ebe2b0d05e464e6a2af1181c7f1b90.tar.gz
Don't use public_send in destroy_conditionally! helper
As we only override in two places, we could just ask for the value rather than the method name.
-rw-r--r--lib/api/branches.rb2
-rw-r--r--lib/api/helpers.rb6
-rw-r--r--lib/api/tags.rb2
3 files changed, 6 insertions, 4 deletions
diff --git a/lib/api/branches.rb b/lib/api/branches.rb
index b87f7cdbad1..a989394ad91 100644
--- a/lib/api/branches.rb
+++ b/lib/api/branches.rb
@@ -130,7 +130,7 @@ module API
commit = user_project.repository.commit(branch.dereferenced_target)
- destroy_conditionally!(commit, last_update_field: :authored_date) do
+ destroy_conditionally!(commit, last_updated: commit.authored_date) do
result = DeleteBranchService.new(user_project, current_user)
.execute(params[:branch])
diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb
index 84980864151..3d377fdb9eb 100644
--- a/lib/api/helpers.rb
+++ b/lib/api/helpers.rb
@@ -19,8 +19,10 @@ module API
end
end
- def destroy_conditionally!(resource, last_update_field: :updated_at)
- check_unmodified_since!(resource.public_send(last_update_field))
+ def destroy_conditionally!(resource, last_updated: nil)
+ last_updated ||= resource.updated_at
+
+ check_unmodified_since!(last_updated)
status 204
if block_given?
diff --git a/lib/api/tags.rb b/lib/api/tags.rb
index 81b17935b81..912415e3a7f 100644
--- a/lib/api/tags.rb
+++ b/lib/api/tags.rb
@@ -70,7 +70,7 @@ module API
commit = user_project.repository.commit(tag.dereferenced_target)
- destroy_conditionally!(commit, last_update_field: :authored_date) do
+ destroy_conditionally!(commit, last_updated: commit.authored_date) do
result = ::Tags::DestroyService.new(user_project, current_user)
.execute(params[:tag_name])