2018-12-23 12:14:25 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-03-17 18:26:18 +05:30
|
|
|
module Gitlab
|
|
|
|
module Git
|
|
|
|
class LfsPointerFile
|
2018-05-09 12:01:36 +05:30
|
|
|
VERSION = "https://git-lfs.github.com/spec/v1".freeze
|
|
|
|
VERSION_LINE = "version #{VERSION}".freeze
|
|
|
|
|
2018-03-17 18:26:18 +05:30
|
|
|
def initialize(data)
|
|
|
|
@data = data
|
|
|
|
end
|
|
|
|
|
|
|
|
def pointer
|
|
|
|
@pointer ||= <<~FILE
|
2018-05-09 12:01:36 +05:30
|
|
|
#{VERSION_LINE}
|
2018-03-17 18:26:18 +05:30
|
|
|
oid sha256:#{sha256}
|
|
|
|
size #{size}
|
|
|
|
FILE
|
|
|
|
end
|
|
|
|
|
|
|
|
def size
|
|
|
|
@size ||= @data.bytesize
|
|
|
|
end
|
|
|
|
|
|
|
|
def sha256
|
|
|
|
@sha256 ||= Digest::SHA256.hexdigest(@data)
|
|
|
|
end
|
2018-05-09 12:01:36 +05:30
|
|
|
|
|
|
|
def inspect
|
|
|
|
"#<#{self.class}:#{object_id} @size=#{size}, @sha256=#{sha256.inspect}>"
|
|
|
|
end
|
2018-03-17 18:26:18 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|