summaryrefslogtreecommitdiff
path: root/app/models/blob.rb
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-08-15 20:36:06 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2016-08-15 20:36:06 +0200
commitd626c1d3729f500a891a6934ea779136671ef8b2 (patch)
tree3ffe8ae1d06ccecac566b370b81df85fa16bc2de /app/models/blob.rb
parent4d4ef89cdcb9beca66a13ab2b64e9eb45f8d8256 (diff)
parent640e485c6aa19f8fca1be7fc45e7f65da4469fbd (diff)
downloadgitlab-ce-d626c1d3729f500a891a6934ea779136671ef8b2.tar.gz
Merge remote-tracking branch 'origin/master' into pipeline-hooks-without-slack
Diffstat (limited to 'app/models/blob.rb')
-rw-r--r--app/models/blob.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/models/blob.rb b/app/models/blob.rb
index 0df2805e448..12cc5aaafba 100644
--- a/app/models/blob.rb
+++ b/app/models/blob.rb
@@ -3,6 +3,9 @@ class Blob < SimpleDelegator
CACHE_TIME = 60 # Cache raw blobs referred to by a (mutable) ref for 1 minute
CACHE_TIME_IMMUTABLE = 3600 # Cache blobs referred to by an immutable reference for 1 hour
+ # The maximum size of an SVG that can be displayed.
+ MAXIMUM_SVG_SIZE = 2.megabytes
+
# Wrap a Gitlab::Git::Blob object, or return nil when given nil
#
# This method prevents the decorated object from evaluating to "truthy" when
@@ -31,6 +34,10 @@ class Blob < SimpleDelegator
text? && language && language.name == 'SVG'
end
+ def size_within_svg_limits?
+ size <= MAXIMUM_SVG_SIZE
+ end
+
def video?
UploaderHelper::VIDEO_EXT.include?(extname.downcase.delete('.'))
end