summaryrefslogtreecommitdiff
path: root/lib/gitlab/git/lfs_pointer_file.rb
blob: da12ed7d12574d546b068333d0790b996d037883 (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
module Gitlab
  module Git
    class LfsPointerFile
      def initialize(data)
        @data = data
      end

      def pointer
        @pointer ||= <<~FILE
          version https://git-lfs.github.com/spec/v1
          oid sha256:#{sha256}
          size #{size}
        FILE
      end

      def size
        @size ||= @data.bytesize
      end

      def sha256
        @sha256 ||= Digest::SHA256.hexdigest(@data)
      end
    end
  end
end