Sha256: 6988aeaaca7628b2850a83c33e8a2d9574b5e380b1e1082789abd21aec181c21

Contents?: true

Size: 1.33 KB

Versions: 2

Compression:

Stored size: 1.33 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])
    respond_to do |format|
      format.json {
        render json: @redis_file.to_json
      }
      format.html
    end
  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
    respond_to do |format|
      format.json {
        render json: {
          status: "OK"
        }
      }
      format.html
    end
  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(&:to_json)
        }
      }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
file_upload-0.0.3 app/controllers/file_upload/redis_files_controller.rb
file_upload-0.0.2 app/controllers/file_upload/redis_files_controller.rb