diff options
Diffstat (limited to 'app/controllers/projects/artifacts_controller.rb')
-rw-r--r-- | app/controllers/projects/artifacts_controller.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/app/controllers/projects/artifacts_controller.rb b/app/controllers/projects/artifacts_controller.rb index 6484a713f8e..d0f59aa8162 100644 --- a/app/controllers/projects/artifacts_controller.rb +++ b/app/controllers/projects/artifacts_controller.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class Projects::ArtifactsController < Projects::ApplicationController include ExtractsPath include RendersBlob @@ -12,6 +14,8 @@ class Projects::ArtifactsController < Projects::ApplicationController before_action :entry, only: [:file] def download + return render_404 unless artifacts_file + send_upload(artifacts_file, attachment: artifacts_file.filename) end @@ -82,19 +86,23 @@ class Projects::ArtifactsController < Projects::ApplicationController end end + # rubocop: disable CodeReuse/ActiveRecord def build_from_id project.builds.find_by(id: params[:job_id]) if params[:job_id] end + # rubocop: enable CodeReuse/ActiveRecord + # rubocop: disable CodeReuse/ActiveRecord def build_from_ref return unless @ref_name builds = project.latest_successful_builds_for(@ref_name) builds.find_by(name: params[:job]) end + # rubocop: enable CodeReuse/ActiveRecord def artifacts_file - @artifacts_file ||= build.artifacts_file + @artifacts_file ||= build.artifacts_file_for_type(params[:file_type] || :archive) end def entry |