/
rv_harness.rb
41 lines (33 loc) · 1.12 KB
/
rv_harness.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
# Example mongrel harness for camping apps with rv
#
# author: Evan Weaver
# url: http://blog.evanweaver.com/articles/2006/12/19/rv-a-tool-for-luxurious-camping
# license: AFL 3.0
require 'mongrel'
require 'mongrel/camping'
LOGFILE = 'mongrel.log'
PIDFILE = 'mongrel.pid'
# or whatever else you want passed in
PORT = ARGV[0].to_i
ADDR = ARGV[1]
# this is your camping app
require 'site'
app = Cheat
# custom database configuration
app::Models::Base.establish_connection :adapter => 'mysql', :user => 'root', :database => 'camping', :host => 'localhost'
app::Models::Base.logger = nil
app::Models::Base.threaded_connections = false
app.create
config = Mongrel::Configurator.new :host => ADDR, :pid_file => PIDFILE do
listener :port => PORT do
uri '/', :handler => Mongrel::Camping::CampingHandler.new(app)
# use the mongrel static server in production instead of the camping controller
uri '/static/', :handler => Mongrel::DirHandler.new("static/")
uri '/favicon.ico', :handler => Mongrel::Error404Handler.new('')
setup_signals
run
write_pid_file
log "#{app} available at #{ADDR}:#{PORT}"
join
end
end