summaryrefslogtreecommitdiff
path: root/lib/gitlab/git/wiki_file.rb
blob: 7f09173f05cffe5a59cc0c0f8743f056404a02b1 (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
# frozen_string_literal: true

module Gitlab
  module Git
    class WikiFile
      attr_reader :mime_type, :raw_data, :name, :path

      # This class wraps Gitlab::GitalyClient::WikiFile
      def initialize(gitaly_file)
        @mime_type = gitaly_file.mime_type
        @raw_data = gitaly_file.raw_data
        @name = gitaly_file.name
        @path = gitaly_file.path
      end

      def self.from_blob(blob)
        hash = {
          name: File.basename(blob.name),
          mime_type: blob.mime_type,
          path: blob.path,
          raw_data: blob.data
        }

        gitaly_file = Gitlab::GitalyClient::WikiFile.new(hash)

        Gitlab::Git::WikiFile.new(gitaly_file)
      end
    end
  end
end