diff options
Diffstat (limited to 'app/presenters/ci/pipeline_artifacts/code_quality_mr_diff_presenter.rb')
-rw-r--r-- | app/presenters/ci/pipeline_artifacts/code_quality_mr_diff_presenter.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/app/presenters/ci/pipeline_artifacts/code_quality_mr_diff_presenter.rb b/app/presenters/ci/pipeline_artifacts/code_quality_mr_diff_presenter.rb index 2fe3104fe69..d28b4523fd5 100644 --- a/app/presenters/ci/pipeline_artifacts/code_quality_mr_diff_presenter.rb +++ b/app/presenters/ci/pipeline_artifacts/code_quality_mr_diff_presenter.rb @@ -5,18 +5,20 @@ module Ci class CodeQualityMrDiffPresenter < Gitlab::View::Presenter::Delegated include Gitlab::Utils::StrongMemoize - def for_files(filenames) - quality_files = raw_report["files"].select { |key| filenames.include?(key) } + def for_files(merge_request) + filenames = merge_request.new_paths + mr_diff_report = raw_report(merge_request.id) + quality_files = mr_diff_report["files"]&.select { |key| filenames.include?(key) } { files: quality_files } end private - def raw_report + def raw_report(merge_request_id) strong_memoize(:raw_report) do self.each_blob do |blob| - Gitlab::Json.parse(blob).with_indifferent_access + Gitlab::Json.parse(blob).with_indifferent_access.fetch("merge_request_#{merge_request_id}", {}) end end end |