diff options
author | Lin Jen-Shin <godfat@godfat.org> | 2016-08-26 08:10:03 +0300 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2016-08-26 08:10:03 +0300 |
commit | b17df0507b704a347d6a8af035526b642ec85284 (patch) | |
tree | cfbae087536646f6fab02c7e75d6cd21a413a747 /app/controllers/projects/artifacts_controller.rb | |
parent | 6a2d2bd18d0a07c33200d74a09b7cf9adcb7a84d (diff) |
Extract ref_name and path in before_action, feedback:
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5142#note_14469768
Diffstat (limited to 'app/controllers/projects/artifacts_controller.rb')
-rw-r--r-- | app/controllers/projects/artifacts_controller.rb | 15 |
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 |