got app working reasonably well, and removed db file, that shouldn't be in the db

pull/13/head
Adam Townsend 2023-09-14 22:30:33 -07:00
parent 3e789f832a
commit 1652107549
3 changed files with 12 additions and 1 deletions

11
app.rb
View File

@ -1,8 +1,12 @@
require 'roda' require 'roda'
require 'securerandom' require 'securerandom'
require 'json' require 'json'
require 'sequel'
require 'logger'
class App < Roda class App < Roda
DB = Sequel.sqlite('db/url_shortener.db')
links = DB[:links]
plugin :render, escape: true plugin :render, escape: true
route do |r| route do |r|
r.root do r.root do
@ -10,10 +14,15 @@ class App < Roda
end end
r.get String do | url_code | r.get String do | url_code |
"redirect to url" link = links.filter(:code => url_code).first[:url]
r.redirect link
end end
r.post "create" do r.post "create" do
url = r.params['url']
code = SecureRandom.urlsafe_base64 4
links.insert(url: url, code: code)
@new_link = 'http://' + request.env['HTTP_HOST'] + '/' + links.filter(:url => url).first[:code]
view :create view :create
end end
end end

Binary file not shown.

View File

@ -0,0 +1,2 @@
<a href="/">Home</a>
<h2><a href="<%= @new_link %>" target="_blank"><%= @new_link %></a></h2>