gitlab-org--gitlab-foss/app/controllers/concerns/renders_blob.rb

41 lines
894 B
Ruby
Raw Normal View History

module RendersBlob
extend ActiveSupport::Concern
def render_blob_json(blob)
viewer =
2017-05-08 23:50:23 +00:00
case params[:viewer]
when 'rich'
blob.rich_viewer
2017-05-08 23:50:23 +00:00
when 'auxiliary'
blob.auxiliary_viewer
else
blob.simple_viewer
end
return render_404 unless viewer
if blob.binary?
render json: {
binary: true,
mime_type: blob.mime_type,
name: blob.name,
2017-07-02 22:17:53 +00:00
extension: blob.extension,
size: blob.raw_size
}
else
render json: {
html: view_to_html_string("projects/blob/_viewer", viewer: viewer, load_async: false),
plain: blob.data,
name: blob.name,
2017-07-02 22:17:53 +00:00
extension: blob.extension,
size: blob.raw_size,
mime_type: blob.mime_type
}
end
end
2017-04-13 16:47:28 +00:00
def conditionally_expand_blob(blob)
blob.expand! if params[:expanded] == 'true'
2017-04-13 16:47:28 +00:00
end
end