-
Notifications
You must be signed in to change notification settings - Fork 0
/
clipgrab.rb
59 lines (48 loc) · 1.2 KB
/
clipgrab.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
require 'rubygems'
require 'sinatra'
require 'dropio'
require 'erb'
require 'digest/sha1'
configure do
DEPLOY_TIMESTAMP = Time.now.to_i
end
configure :production do
HOSTNAME = "http://nibles.heroku.com/"
Dropio.api_key = "3c9f26eb4cac5c03223d7f96b2286b68297c8686"
JAVASCRIPT_API_KEY = "20bc18e305cc8c1cd943085d4ac53ce088968b11"
end
configure :development do
HOSTNAME = "http://localhost:9393/"
Dropio.api_key = "f4a700e04c1ce4d3d3087a3fdc576c176b6550a3"
JAVASCRIPT_API_KEY = "1aca9fef21a9110c9f583c4ea8202ee23e5f8e94"
end
get '/' do
cache_this
erb :new, :layout => :application
end
post '/' do
@drop = Dropio::Drop.create()
redirect "/#{@drop.name}", 303
end
get '/*/iframe.html' do
@originatingURL = params[:splat]
cache_this
erb :iframe
end
get '/:dropname' do
@dropname = params[:dropname]
erb :get_bookmarklet, :layout => :application
end
get '/:dropname/go_bookmarklet.js' do
@dropname = params[:dropname]
cache_this
erb :bookmarklet_execute_script
end
helpers do
def bookmarklet_script(dropname)
erb :bookmarklet_loader_script, :locals => {:dropname => dropname}
end
def cache_this(minutes = 600)
headers['Cache-Control'] = "public, max-age=#{minutes}"
end
end