class Slipsquare::Middleware::ChunkedUpload

Public Instance Methods

call(env) click to toggle source
# File lib/slipsquare/middleware/chunked_upload.rb, line 6
def call(env)
  say "Starting chunked upload"

  file_name = env['chunked_upload_file_name']
  contents  = File.open(env['chunked_upload_file_name'])
  total_size = File.size(env['chunked_upload_file_name'])

  say "Total Size: #{total_size} bytes"
  upload_progress_bar = ProgressBar.create(:title => "Upload progress",
    :format => '%a <%B> %p%% %t',
    :starting_at => 0,
    :total => total_size)

  response = env['dropbox-client'].chunked_upload file_name, contents do |offset, upload|
    upload_progress_bar.progress = offset
  end

  say "File uploaded successfully!"

  @app.call(env)
end