summaryrefslogtreecommitdiff
path: root/lib/gitlab/git/lfs_pointer_file.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/git/lfs_pointer_file.rb')
-rw-r--r--lib/gitlab/git/lfs_pointer_file.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/gitlab/git/lfs_pointer_file.rb b/lib/gitlab/git/lfs_pointer_file.rb
new file mode 100644
index 00000000000..da12ed7d125
--- /dev/null
+++ b/lib/gitlab/git/lfs_pointer_file.rb
@@ -0,0 +1,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