aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/commands/server.rb
diff options
context:
space:
mode:
authorCarlhuda <carlhuda@Carlhudas-iMac.local>2009-11-24 13:03:24 -0800
committerCarlhuda <carlhuda@Carlhudas-iMac.local>2009-11-24 14:36:30 -0800
commit530b8ff5ae811e0dd5e1343b478f42eed6fffdbd (patch)
treebbff1bbfbf0c889a78ce6badf93aab0d1f6b2ed1 /railties/lib/rails/commands/server.rb
parenta2cb90c0c246e772e9735ff59f5517e3dee313ff (diff)
downloadrails-530b8ff5ae811e0dd5e1343b478f42eed6fffdbd.tar.gz
rails-530b8ff5ae811e0dd5e1343b478f42eed6fffdbd.tar.bz2
rails-530b8ff5ae811e0dd5e1343b478f42eed6fffdbd.zip
Have script/* and Rakefile use the application object
Diffstat (limited to 'railties/lib/rails/commands/server.rb')
-rw-r--r--railties/lib/rails/commands/server.rb19
1 files changed, 16 insertions, 3 deletions
diff --git a/railties/lib/rails/commands/server.rb b/railties/lib/rails/commands/server.rb
index ff2282a534..57b7c6a49c 100644
--- a/railties/lib/rails/commands/server.rb
+++ b/railties/lib/rails/commands/server.rb
@@ -37,6 +37,15 @@ module Rails
Options.new
end
+ def self.start(app)
+ new(app).start
+ end
+
+ def initialize(app)
+ super() # Call Rack::Server#initialize without passing any options to use.
+ @app = app
+ end
+
def start
puts "=> Booting #{ActiveSupport::Inflector.demodulize(server)}"
puts "=> Rails #{Rails.version} application starting on http://#{options[:Host]}:#{options[:Port]}"
@@ -54,20 +63,24 @@ module Rails
def middleware
middlewares = []
- middlewares << [Rails::Rack::LogTailer] unless options[:daemonize]
+ middlewares << [Rails::Rack::LogTailer, log_path] unless options[:daemonize]
middlewares << [Rails::Rack::Debugger] if options[:debugger]
Hash.new(middlewares)
end
+ def log_path
+ "#{File.expand_path(@app.root)}/log/#{options[:environment]}.log"
+ end
+
def default_options
{
:Port => 3000,
:Host => "0.0.0.0",
:environment => (ENV['RAILS_ENV'] || "development").dup,
- :rack_file => "#{Rails.root}/config.ru",
+ :rack_file => "#{@app.root}/config.ru",
:daemonize => false,
:debugger => false,
- :pid => "#{Rails.root}/tmp/pids/server.pid",
+ :pid => "#{@app.root}/tmp/pids/server.pid",
:AccessLog => []
}
end