aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/commands
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2009-02-06 02:25:55 +0000
committerPratik Naik <pratiknaik@gmail.com>2009-02-06 02:25:55 +0000
commitb9ba2fe55059a6d9f141d1d502e16bdfd46f26cb (patch)
tree491c3ce7d406a723e5c06e3bccf4559a0de86199 /railties/lib/commands
parent97612394672203eefd04e3b1947273a3ab4ec930 (diff)
parent96d610553e5fdaabc923835ab1f194070ddb4477 (diff)
downloadrails-b9ba2fe55059a6d9f141d1d502e16bdfd46f26cb.tar.gz
rails-b9ba2fe55059a6d9f141d1d502e16bdfd46f26cb.tar.bz2
rails-b9ba2fe55059a6d9f141d1d502e16bdfd46f26cb.zip
Merge commit 'mainstream/master'
Conflicts: railties/guides/files/javascripts/code_highlighter.js railties/guides/files/javascripts/guides.js railties/guides/files/javascripts/highlighters.js railties/guides/files/stylesheets/main.css railties/guides/files/stylesheets/print.css railties/guides/files/stylesheets/reset.css railties/guides/files/stylesheets/style.css railties/guides/files/stylesheets/syntax.css railties/guides/rails_guides/indexer.rb railties/guides/source/2_2_release_notes.textile railties/guides/source/2_3_release_notes.textile railties/guides/source/action_controller_overview.textile railties/guides/source/action_mailer_basics.textile railties/guides/source/active_record_basics.textile railties/guides/source/activerecord_validations_callbacks.textile railties/guides/source/association_basics.textile railties/guides/source/caching_with_rails.textile railties/guides/source/command_line.textile railties/guides/source/debugging_rails_applications.textile railties/guides/source/form_helpers.textile railties/guides/source/getting_started.textile railties/guides/source/i18n.textile railties/guides/source/layout.html.erb railties/guides/source/layouts_and_rendering.textile railties/guides/source/migrations.textile railties/guides/source/performance_testing.textile railties/guides/source/plugins.textile railties/guides/source/rails_on_rack.textile railties/guides/source/routing.textile railties/guides/source/security.textile railties/guides/source/testing.textile
Diffstat (limited to 'railties/lib/commands')
-rw-r--r--railties/lib/commands/server.rb19
1 files changed, 15 insertions, 4 deletions
diff --git a/railties/lib/commands/server.rb b/railties/lib/commands/server.rb
index 43b18004c0..ebe34a42cd 100644
--- a/railties/lib/commands/server.rb
+++ b/railties/lib/commands/server.rb
@@ -17,7 +17,8 @@ options = {
:environment => (ENV['RAILS_ENV'] || "development").dup,
:config => RAILS_ROOT + "/config.ru",
:detach => false,
- :debugger => false
+ :debugger => false,
+ :path => nil
}
ARGV.clone.options do |opts|
@@ -32,6 +33,7 @@ ARGV.clone.options do |opts|
opts.on("-e", "--environment=name", String,
"Specifies the environment to run this server under (test/development/production).",
"Default: development") { |v| options[:environment] = v }
+ opts.on("-P", "--path=/path", String, "Runs Rails app mounted at a specific path.", "Default: /") { |v| options[:path] = v }
opts.separator ""
@@ -50,7 +52,7 @@ unless server
end
puts "=> Booting #{ActiveSupport::Inflector.demodulize(server)}"
-puts "=> Rails #{Rails.version} application starting on http://#{options[:Host]}:#{options[:Port]}"
+puts "=> Rails #{Rails.version} application starting on http://#{options[:Host]}:#{options[:Port]}#{options[:path]}"
%w(cache pids sessions sockets).each do |dir_to_make|
FileUtils.mkdir_p(File.join(RAILS_ROOT, 'tmp', dir_to_make))
@@ -83,11 +85,20 @@ else
inner_app = ActionController::Dispatcher.new
end
+if options[:path].nil?
+ map_path = "/"
+else
+ ActionController::Base.relative_url_root = options[:path]
+ map_path = options[:path]
+end
+
app = Rack::Builder.new {
use Rails::Rack::LogTailer unless options[:detach]
- use Rails::Rack::Static
use Rails::Rack::Debugger if options[:debugger]
- run inner_app
+ map map_path do
+ use Rails::Rack::Static
+ run inner_app
+ end
}.to_app
puts "=> Call with -d to detach"