diff options
author | tbuehlmann <tobias.buehlmann@gmx.de> | 2010-12-03 19:07:53 +0100 |
---|---|---|
committer | tbuehlmann <tobias.buehlmann@gmx.de> | 2010-12-03 19:07:53 +0100 |
commit | da2d98e8d92e87b6fdd86b4cfe810c9fc7a44a13 (patch) | |
tree | 2ef6f12fb68280f21d18eae08a354ee833d8cf61 /file_upload.rb | |
parent | 50d95678730faa92f3893d75191b371e5e886c0f (diff) |
1.9.2 ready
Diffstat (limited to 'file_upload.rb')
-rw-r--r-- | file_upload.rb | 31 |
1 files changed, 16 insertions, 15 deletions
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 + |