From da2d98e8d92e87b6fdd86b4cfe810c9fc7a44a13 Mon Sep 17 00:00:00 2001 From: tbuehlmann Date: Fri, 3 Dec 2010 19:07:53 +0100 Subject: 1.9.2 ready --- file_upload.rb | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'file_upload.rb') diff --git a/file_upload.rb b/file_upload.rb index aab6b4e..a23d6a1 100644 --- a/file_upload.rb +++ b/file_upload.rb @@ -2,38 +2,38 @@ require 'rubygems' require 'haml' -require 'pathname' require 'sinatra/base' class FileUpload < Sinatra::Base configure do enable :static enable :sessions - - set :views, Pathname.new(__FILE__).dirname.join('views').expand_path - set :public, Pathname.new(__FILE__).dirname.join('public').expand_path + + set :views, File.join(File.dirname(__FILE__), 'views') + set :public, File.join(File.dirname(__FILE__), 'public') + set :files, File.join(public, 'files') end - + helpers do def flash(message = '') session[:flash] = message end end - + not_found do haml '404' end - + error do haml "Error (#{request.env['sinatra.error']})" end - + get '/' do - @files = settings.public.join('files').entries - [Pathname.new('.'), Pathname.new('..')] - + @files = Dir.entries(settings.files) - ['.', '..'] + @flash = session[:flash] session[:flash] = nil - + haml :index end @@ -41,14 +41,15 @@ class FileUpload < Sinatra::Base if params[:file] filename = params[:file][:filename] file = params[:file][:tempfile] - - File.open(settings.public.join('files', filename), 'wb') {|f| f.write file.read } - + + File.open(File.join(settings.files, filename), 'wb') {|f| f.write file.read } + flash 'Uploaded successfully' else flash 'You have to choose a file' end - + redirect '/' end end + -- cgit v1.2.3