forked from febuiles/cp-taller
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgarage.rb
80 lines (66 loc) · 1.35 KB
/
garage.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
require "sinatra"
require "models"
before do
content_type :html, :charset => 'utf-8'
end
get "/" do
redirect "/items"
end
get "/items" do
@items = Item.all
erb :index
end
post "/items" do
@item = Item.new(params)
if @item.save
redirect "/items/#{@item.id}"
else
erb :new
end
end
get "/items/new" do
@item = Item.new
erb :new
end
get "/items/:id" do
@item = Item.get(params[:id])
erb :show
end
delete "/items" do
item = Item.get(params[:id])
item.destroy unless item.nil?
redirect "/items"
end
put "/items" do
item = Item.get(params[:id])
error 500 if item.nil?
if item.sell
@items = Item.all
@notice = "Felicitaciones por la compra de: #{item.title}"
erb :index
else
not_found("No encontramos el producto que intentas comprar")
end
end
helpers do
def buy_item_link(item)
html = <<HTML
<form action="/items" method="post">
<input type="hidden" name="_method" value="put" />
<input type="hidden" name="id" value="#{item.id}" />
<input type="submit" value="Comprar" />
</form>
HTML
html if !item.nil?
end
def delete_item_link(item)
html = <<HTML
<form action="/items" method="post">
<input type="hidden" name="_method" value="delete" />
<input type="hidden" name="id" value="#{item.id}" />
<input type="submit" value="Eliminar" />
</form>
HTML
html if !item.nil?
end
end