summaryrefslogtreecommitdiff
path: root/app/models/snippet_blob.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/snippet_blob.rb')
-rw-r--r--app/models/snippet_blob.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/app/models/snippet_blob.rb b/app/models/snippet_blob.rb
new file mode 100644
index 00000000000..fa5fa151607
--- /dev/null
+++ b/app/models/snippet_blob.rb
@@ -0,0 +1,31 @@
+class SnippetBlob
+ include BlobLike
+
+ attr_reader :snippet
+
+ def initialize(snippet)
+ @snippet = snippet
+ end
+
+ delegate :id, to: :snippet
+
+ def name
+ snippet.file_name
+ end
+
+ alias_method :path, :name
+
+ def size
+ data.bytesize
+ end
+
+ def data
+ snippet.content
+ end
+
+ def rendered_markup
+ return unless Gitlab::MarkupHelper.gitlab_markdown?(name)
+
+ Banzai.render_field(snippet, :content)
+ end
+end