summaryrefslogtreecommitdiff
path: root/lib/gitlab/diff/file_collection/compare.rb
blob: df0d71f3db2071dea26cd5f1c637bed5f0d3fd27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# frozen_string_literal: true

module Gitlab
  module Diff
    module FileCollection
      class Compare < Base
        delegate :limit_value, :current_page, :next_page, :prev_page, :total_count, :total_pages, to: :@pagination

        def initialize(compare, project:, diff_options:, diff_refs: nil)
          @pagination = Gitlab::PaginationDelegate.new(
            page: diff_options&.delete(:page),
            per_page: diff_options&.delete(:per_page),
            count: diff_options&.delete(:count)
          )

          super(compare,
            project: project,
            diff_options: diff_options,
            diff_refs: diff_refs)
        end

        def unfold_diff_lines(positions)
          # no-op
        end

        def cache_key
          ['compare', @diffable.head.id, @diffable.base.id]
        end
      end
    end
  end
end