Sha256: f77aa4b8ba1787aa12d87b1d95615c892c55acd93e21c6ff7c1bb0cb833ddd88
Contents?: true
Size: 1.17 KB
Versions: 8
Compression:
Stored size: 1.17 KB
Contents
class PrometheeController < ApplicationController # This is acceptable because the iframe is sandboxed skip_before_action :verify_authenticity_token, only: :preview def preview @data = params[:data] render 'preview', layout: params[:preview_layout] if params.include? :preview_layout end def blob_create io = params[:file].to_io filename = params[:file].original_filename content_type = params[:file].content_type blob = ActiveStorage::Blob.create_after_upload! io: io, filename: filename, content_type: content_type render json: { id: blob.signed_id, name: filename } end def blob_show # as this is called only from promethee preview it sends an image resized to 720 begin blob_find_method = ActiveStorage::Blob.respond_to?(:find_signed!) ? :find_signed! : :find_signed blob = ActiveStorage::Blob.public_send(blob_find_method, params[:id]) rescue raise ActiveRecord::RecordNotFound end if blob.image? && blob.variable? redirect_to url_for(blob.variant(resize: '720>')) elsif blob.video? redirect_to url_for(blob.preview(resize: '720>')) else redirect_to url_for(blob) end end end
Version data entries
8 entries across 8 versions & 1 rubygems