Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2017-04-21 21:59:34 +0300
committerDouwe Maan <douwe@selenight.nl>2017-04-27 20:23:26 +0300
commit0e0c760e487651cdbddfce818ca6b69ad43fe071 (patch)
tree86351159d35ccb0cc63e4cb565961db8a56309cb /app/models/blob_viewer
parenta7fd95cd22062f18474ee038d72fa9e1139a1a84 (diff)
Refactor overriding max size
Diffstat (limited to 'app/models/blob_viewer')
-rw-r--r--app/models/blob_viewer/base.rb29
-rw-r--r--app/models/blob_viewer/download.rb2
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