diff options
author | Douwe Maan <douwe@selenight.nl> | 2017-04-21 13:59:34 -0500 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2017-04-27 12:23:26 -0500 |
commit | 0e0c760e487651cdbddfce818ca6b69ad43fe071 (patch) | |
tree | 86351159d35ccb0cc63e4cb565961db8a56309cb /app/models/blob_viewer | |
parent | a7fd95cd22062f18474ee038d72fa9e1139a1a84 (diff) | |
download | gitlab-ce-0e0c760e487651cdbddfce818ca6b69ad43fe071.tar.gz |
Refactor overriding max size
Diffstat (limited to 'app/models/blob_viewer')
-rw-r--r-- | app/models/blob_viewer/base.rb | 29 | ||||
-rw-r--r-- | app/models/blob_viewer/download.rb | 2 |
2 files changed, 12 insertions, 19 deletions
diff --git a/app/models/blob_viewer/base.rb b/app/models/blob_viewer/base.rb index 8e6919f1054..714a063933b 100644 --- a/app/models/blob_viewer/base.rb +++ b/app/models/blob_viewer/base.rb @@ -5,6 +5,7 @@ module BlobViewer delegate :partial_path, :rich?, :simple?, :client_side?, :server_side?, :text_based?, to: :class attr_reader :blob + attr_accessor :override_max_size def initialize(blob) @blob = blob @@ -38,20 +39,20 @@ module BlobViewer !extensions || extensions.include?(blob.extension) end - def can_override_max_size? - too_large? && !too_large?(override_max_size: true) + def too_large? + blob.raw_size > max_size end - def relevant_max_size - if too_large?(override_max_size: true) - absolute_max_size - elsif too_large? - max_size - end + def absolutely_too_large? + blob.raw_size > absolute_max_size + end + + def can_override_max_size? + too_large? && !absolutely_too_large? end - def render_error(override_max_size: false) - if too_large?(override_max_size: override_max_size) + def render_error + if override_max_size ? absolutely_too_large? : too_large? :too_large elsif server_side_but_stored_in_lfs? :server_side_but_stored_in_lfs @@ -66,14 +67,6 @@ module BlobViewer private - def too_large?(override_max_size: false) - if override_max_size - blob.raw_size > absolute_max_size - else - blob.raw_size > max_size - end - end - def server_side_but_stored_in_lfs? server_side? && blob.valid_lfs_pointer? end diff --git a/app/models/blob_viewer/download.rb b/app/models/blob_viewer/download.rb index 8f293ea6008..dbd6f07dbc8 100644 --- a/app/models/blob_viewer/download.rb +++ b/app/models/blob_viewer/download.rb @@ -9,7 +9,7 @@ module BlobViewer self.partial_name = 'download' self.text_based = false - def render_error(*) + def render_error nil end end |