mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
script/server command can accept --path option to set app's root path [#1156 state:resolved]
Signed-off-by: Joshua Peek <josh@joshpeek.com>
This commit is contained in:
parent
4866ce45d0
commit
b6e7a76cc5
1 changed files with 15 additions and 4 deletions
|
@ -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"
|
||||
|
|
Loading…
Reference in a new issue