summaryrefslogtreecommitdiff
path: root/app/models/blob.rb
diff options
context:
space:
mode:
authorLuke "Jared" Bennett <lbennett@gitlab.com>2017-04-12 08:46:45 +0000
committerLuke "Jared" Bennett <lbennett@gitlab.com>2017-04-12 08:46:45 +0000
commit6d2db33de43f20c314bee558919c1859e6f54d4a (patch)
tree5ec10887f80085e8cd00217d33e18d48caee25e9 /app/models/blob.rb
parentccba2f445dc0efd670a492cef954169a117eb166 (diff)
parentd59f48987baceb25aa87dc6d87551f68af4bb1ed (diff)
downloadgitlab-ce-6d2db33de43f20c314bee558919c1859e6f54d4a.tar.gz
Merge branch 'master' into 'balsalmiq-support'
# Conflicts: # app/models/blob.rb
Diffstat (limited to 'app/models/blob.rb')
-rw-r--r--app/models/blob.rb30
1 files changed, 25 insertions, 5 deletions
diff --git a/app/models/blob.rb b/app/models/blob.rb
index 0c1730f6801..91cf171a688 100644
--- a/app/models/blob.rb
+++ b/app/models/blob.rb
@@ -42,12 +42,16 @@ class Blob < SimpleDelegator
size && truncated?
end
+ def extension
+ extname.downcase.delete('.')
+ end
+
def svg?
text? && language && language.name == 'SVG'
end
def pdf?
- name && File.extname(name) == '.pdf'
+ extension == 'pdf'
end
def ipython_notebook?
@@ -55,7 +59,7 @@ class Blob < SimpleDelegator
end
def sketch?
- binary? && extname.downcase.delete('.') == 'sketch'
+ binary? && extension == 'sketch'
end
def balsamiq?
@@ -63,7 +67,11 @@ class Blob < SimpleDelegator
end
def stl?
- extname.downcase.delete('.') == 'stl'
+ extension == 'stl'
+ end
+
+ def markup?
+ text? && Gitlab::MarkupHelper.markup?(name)
end
def size_within_svg_limits?
@@ -81,8 +89,10 @@ class Blob < SimpleDelegator
else
'text'
end
- elsif image? || svg?
+ elsif image?
'image'
+ elsif svg?
+ 'svg'
elsif pdf?
'pdf'
elsif ipython_notebook?
@@ -93,8 +103,18 @@ class Blob < SimpleDelegator
'stl'
elsif balsamiq?
'bmpr'
+ elsif markup?
+ if only_display_raw?
+ 'too_large'
+ else
+ 'markup'
+ end
elsif text?
- 'text'
+ if only_display_raw?
+ 'too_large'
+ else
+ 'text'
+ end
else
'download'
end