summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLin Jen-Shin <godfat@godfat.org>2016-08-26 13:10:03 +0800
committerLin Jen-Shin <godfat@godfat.org>2016-08-26 13:10:03 +0800
commitb17df0507b704a347d6a8af035526b642ec85284 (patch)
treecfbae087536646f6fab02c7e75d6cd21a413a747
parent6a2d2bd18d0a07c33200d74a09b7cf9adcb7a84d (diff)
downloadgitlab-ce-b17df0507b704a347d6a8af035526b642ec85284.tar.gz
Extract ref_name and path in before_action, feedback:
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5142#note_14469768
-rw-r--r--app/controllers/projects/artifacts_controller.rb15
1 files changed, 10 insertions, 5 deletions
diff --git a/app/controllers/projects/artifacts_controller.rb b/app/controllers/projects/artifacts_controller.rb
index 4c63bec90e5..59222637961 100644
--- a/app/controllers/projects/artifacts_controller.rb
+++ b/app/controllers/projects/artifacts_controller.rb
@@ -4,6 +4,7 @@ class Projects::ArtifactsController < Projects::ApplicationController
layout 'project'
before_action :authorize_read_build!
before_action :authorize_update_build!, only: [:keep]
+ before_action :extract_ref_name_and_path
before_action :validate_artifacts!
def download
@@ -48,6 +49,12 @@ class Projects::ArtifactsController < Projects::ApplicationController
private
+ def extract_ref_name_and_path
+ return unless params[:ref_name_and_path]
+
+ @ref_name, @path = extract_ref(params[:ref_name_and_path])
+ end
+
def validate_artifacts!
render_404 unless build && build.artifacts?
end
@@ -61,12 +68,10 @@ class Projects::ArtifactsController < Projects::ApplicationController
end
def build_from_ref
- if params[:ref_name_and_path]
- ref_name, @path = extract_ref(params[:ref_name_and_path])
- builds = project.latest_successful_builds_for(ref_name)
+ return unless @ref_name
- builds.find_by(name: params[:job])
- end
+ builds = project.latest_successful_builds_for(@ref_name)
+ builds.find_by(name: params[:job])
end
def artifacts_file