Sha256: 387e54d947af19e2ac04d4a6edd0ad66ae222b0f8eda8b04120e43f8f66ff628

Contents?: true

Size: 988 Bytes

Versions: 7

Compression:

Stored size: 988 Bytes

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.id, name: filename }
  end

  def blob_show
    # as this is called only from promethee preview it sends an image resized to 720
    blob = ActiveStorage::Blob.find params[:id]
    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

7 entries across 7 versions & 1 rubygems

Version Path
promethee-2.0.9 app/controllers/promethee_controller.rb
promethee-2.0.8 app/controllers/promethee_controller.rb
promethee-2.0.7 app/controllers/promethee_controller.rb
promethee-2.0.6 app/controllers/promethee_controller.rb
promethee-2.0.5 app/controllers/promethee_controller.rb
promethee-2.0.4 app/controllers/promethee_controller.rb
promethee-2.0.3 app/controllers/promethee_controller.rb