-
Notifications
You must be signed in to change notification settings - Fork 2
/
track.rb
41 lines (35 loc) · 1.04 KB
/
track.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
require 'sinatra/base'
require 'mongo_mapper'
require 'erb'
class TrackApp < Sinatra::Base
set :show_exceptions, false
set :views, File.join(File.dirname(__FILE__), 'views/track')
set :public_folder, File.join(File.dirname(__FILE__), 'public/track')
configure {
if ENV['MONGOHQ_URL']
puts "Running on MongoHQ"
uri = URI.parse(ENV['MONGOHQ_URL'])
MongoMapper.connection = Mongo::Connection.new(uri.host, uri.port)
MongoMapper.database = uri.path.gsub(/^\//, '')
MongoMapper.database.authenticate(uri.user, uri.password)
else
puts "Track:: using local database"
MongoMapper.connection = Mongo::Connection.new("localhost", 27017)
MongoMapper.database = "plink_trail_" + ENV['RACK_ENV']
end
Handset.ensure_index(:code)
}
not_found { erb :'404'}
get '/handsets' do
@handsets = Handset.all
erb :index
end
get '/:handset' do
@handset = Handset.find_by_code(params[:handset])
if @handset
erb :handset
else
raise Sinatra::NotFound
end
end
end