diff options
-rw-r--r-- | app/controllers/projects/artifacts_controller.rb | 9 | ||||
-rw-r--r-- | lib/gitlab/string_path.rb | 12 |
2 files changed, 20 insertions, 1 deletions
diff --git a/app/controllers/projects/artifacts_controller.rb b/app/controllers/projects/artifacts_controller.rb index ff04e144884..c1f406e3ba5 100644 --- a/app/controllers/projects/artifacts_controller.rb +++ b/app/controllers/projects/artifacts_controller.rb @@ -15,7 +15,10 @@ class Projects::ArtifactsController < Projects::ApplicationController end def browse - @metadata = build.artifacts_metadata + path = params[:path].to_s + @paths = artifacts_metadata.map do |_artifact_file| + Gitlab::StringPath.new(path, artifacts_metadata) + end end private @@ -28,6 +31,10 @@ class Projects::ArtifactsController < Projects::ApplicationController @artifacts_file ||= build.artifacts_file end + def artifacts_metadata + @artifacts_metadata ||= build.artifacts_metadata + end + def authorize_download_build_artifacts! unless can?(current_user, :download_build_artifacts, @project) if current_user.nil? diff --git a/lib/gitlab/string_path.rb b/lib/gitlab/string_path.rb index 9ccf54bd62f..3aa6200b572 100644 --- a/lib/gitlab/string_path.rb +++ b/lib/gitlab/string_path.rb @@ -34,6 +34,18 @@ module Gitlab !directory? end + def has_parent? + raise NotImplementedError + end + + def parent + raise NotImplementedError + end + + def directories + raise NotImplementedError + end + def files raise NotImplementedError end |