summaryrefslogtreecommitdiff
path: root/app/controllers/concerns/renders_blob.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/concerns/renders_blob.rb')
-rw-r--r--app/controllers/concerns/renders_blob.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/app/controllers/concerns/renders_blob.rb b/app/controllers/concerns/renders_blob.rb
new file mode 100644
index 00000000000..1d37e4cb3bd
--- /dev/null
+++ b/app/controllers/concerns/renders_blob.rb
@@ -0,0 +1,24 @@
+module RendersBlob
+ extend ActiveSupport::Concern
+
+ def render_blob_json(blob)
+ viewer =
+ case params[:viewer]
+ when 'rich'
+ blob.rich_viewer
+ when 'auxiliary'
+ blob.auxiliary_viewer
+ else
+ blob.simple_viewer
+ end
+ return render_404 unless viewer
+
+ render json: {
+ html: view_to_html_string("projects/blob/_viewer", viewer: viewer, load_async: false)
+ }
+ end
+
+ def override_max_blob_size(blob)
+ blob.override_max_size! if params[:override_max_size] == 'true'
+ end
+end