Sha256: dfc7b30d10a88d894670a26e24fd11b73b14eb0348d16d9d1e9eff07cc90b591

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

class FileUpload::RedisFilesController < ApplicationController

  def index
  end

  def new
    @redis_file = FileUpload::RedisFile.new
  end

  def create
    @redis_file = FileUpload::RedisFile.new(params[:redis_file])
    if @redis_file.save
      redirect_to @redis_file
    else
      render :new
    end
  end

  def show
    @redis_file = FileUpload::RedisFile.find(params[:id])
  end

  def preview
    @redis_file = FileUpload::RedisFile.find(params[:id])
    send_data @redis_file.data, type: @redis_file.type, disposition: "inline"
  end

  def destroy
    @redis_file = FileUpload::RedisFile.find(params[:id])
    @redis_file.destroy
  end

  def bulk
    unless params[:redis_files]
      render status: 400, json: { files: [{error: 'No files uploaded.'}] }
      return
    end

    files = Array(params.require(:redis_files)).map do |file|
      f = FileUpload::RedisFile.new({
        file_io: file[:data]
      })
      f.save
      f
    end
    respond_to do |format|
      format.js {
        render json: {
          files: files.map{|file| file.to_json}
        }
      }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
file_upload-0.0.1 app/controllers/file_upload/redis_files_controller.rb