diff --git a/app.rb b/app.rb index 4b2b414..54554b6 100644 --- a/app.rb +++ b/app.rb @@ -4,11 +4,16 @@ require 'json' require 'sequel' class App < Roda - DB = Sequel.sqlite('db/url_shortener.db') - links = DB[:links] + plugin :sessions, secret: ENV.delete('APP_SESSION_SECRET') plugin :render, escape: true + plugin :flash + + DB = Sequel.sqlite("db/#{ENV['DB_NAME']}") + links = DB[:links] + route do |r| r.root do + @message = flash['message'] || "Enter a URL" view :home end @@ -19,11 +24,16 @@ class App < Roda r.post "create" do url = r.params['url'] - if url.empty? then r.redirect '/' end + if url.empty? + flash['message'] = "Please enter a valid URL"; + r.redirect '/' + end if nil == links.filter(:url => url).first code = SecureRandom.urlsafe_base64 4 links.insert(url: url, code: code) + @message = "Link created" end + @message ||= "Link exists" @new_link = 'http://' + request.env['HTTP_HOST'] + '/' + links.filter(:url => url).first[:code] view :create end