summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2017-06-06 16:26:31 -0500
committerDouwe Maan <douwe@selenight.nl>2017-06-08 10:07:17 -0500
commit369d681eec8177f03bf3b4f694e03098447dae09 (patch)
tree53b45d655a1598624a743b3348571843538e1caf
parent1bc80c2587323b9107ec3fb2fe6024d7e7817e35 (diff)
downloadgitlab-ce-dm-blob-file-type.tar.gz
Add Blob#file_type convenience methoddm-blob-file-type
-rw-r--r--app/models/blob.rb4
-rw-r--r--app/models/blob_viewer/base.rb2
-rw-r--r--spec/models/blob_spec.rb8
3 files changed, 13 insertions, 1 deletions
diff --git a/app/models/blob.rb b/app/models/blob.rb
index fd95a1b299b..a7c1a6f51a9 100644
--- a/app/models/blob.rb
+++ b/app/models/blob.rb
@@ -155,6 +155,10 @@ class Blob < SimpleDelegator
@extension ||= extname.downcase.delete('.')
end
+ def file_type
+ Gitlab::FileDetector.type_of(path)
+ end
+
def video?
UploaderHelper::VIDEO_EXT.include?(extension)
end
diff --git a/app/models/blob_viewer/base.rb b/app/models/blob_viewer/base.rb
index e6119d25fab..d2aa33d994e 100644
--- a/app/models/blob_viewer/base.rb
+++ b/app/models/blob_viewer/base.rb
@@ -52,7 +52,7 @@ module BlobViewer
def self.can_render?(blob, verify_binary: true)
return false if verify_binary && binary? != blob.binary?
return true if extensions&.include?(blob.extension)
- return true if file_types&.include?(Gitlab::FileDetector.type_of(blob.path))
+ return true if file_types&.include?(blob.file_type)
false
end
diff --git a/spec/models/blob_spec.rb b/spec/models/blob_spec.rb
index f19e1af65a6..e1193e0d19a 100644
--- a/spec/models/blob_spec.rb
+++ b/spec/models/blob_spec.rb
@@ -199,6 +199,14 @@ describe Blob do
end
end
+ describe '#file_type' do
+ it 'returns the file type' do
+ blob = fake_blob(path: 'README.md')
+
+ expect(blob.file_type).to eq(:readme)
+ end
+ end
+
describe '#simple_viewer' do
context 'when the blob is empty' do
it 'returns an empty viewer' do