diff options
author | Joshua Peek <josh@joshpeek.com> | 2008-12-01 12:21:18 -0600 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2008-12-01 12:21:18 -0600 |
commit | 61958032d3dbb8da8363d02ccda8933b99421fb1 (patch) | |
tree | dd52b4c4c42ce50f000457f721879abafe67b1c7 /railties | |
parent | 725928854d4b6ff5dbafc2bbc95cfade243411a9 (diff) | |
download | rails-61958032d3dbb8da8363d02ccda8933b99421fb1.tar.gz rails-61958032d3dbb8da8363d02ccda8933b99421fb1.tar.bz2 rails-61958032d3dbb8da8363d02ccda8933b99421fb1.zip |
Generate rackup dispatcher with rails:update:generate_dispatchers
Diffstat (limited to 'railties')
-rw-r--r-- | railties/config.ru | 17 | ||||
-rw-r--r-- | railties/dispatches/config.ru | 7 | ||||
-rw-r--r-- | railties/lib/commands/server.rb | 20 | ||||
-rw-r--r-- | railties/lib/rails_generator/generators/applications/app/app_generator.rb | 1 | ||||
-rw-r--r-- | railties/lib/tasks/framework.rake | 1 |
5 files changed, 20 insertions, 26 deletions
diff --git a/railties/config.ru b/railties/config.ru deleted file mode 100644 index 43492a2dcc..0000000000 --- a/railties/config.ru +++ /dev/null @@ -1,17 +0,0 @@ -# Rackup Configuration -# -# Start Rails mongrel server with rackup -# $ rackup -p 3000 config.ru -# -# Start server with webrick (or any compatible Rack server) instead -# $ rackup -p 3000 -s webrick config.ru - -# Require your environment file to bootstrap Rails -require File.dirname(__FILE__) + '/config/environment' - -# Static server middleware -# You can remove this extra check if you use an asset server -use Rails::Rack::Static - -# Dispatch the request -run ActionController::Dispatcher.new diff --git a/railties/dispatches/config.ru b/railties/dispatches/config.ru new file mode 100644 index 0000000000..acbfe4e9ae --- /dev/null +++ b/railties/dispatches/config.ru @@ -0,0 +1,7 @@ +# Rack Dispatcher + +# Require your environment file to bootstrap Rails +require File.dirname(__FILE__) + '/config/environment' + +# Dispatch the request +run ActionController::Dispatcher.new diff --git a/railties/lib/commands/server.rb b/railties/lib/commands/server.rb index a4bb52592f..3611f80ed3 100644 --- a/railties/lib/commands/server.rb +++ b/railties/lib/commands/server.rb @@ -65,7 +65,6 @@ end ENV["RAILS_ENV"] = options[:environment] RAILS_ENV.replace(options[:environment]) if defined?(RAILS_ENV) -require RAILS_ROOT + "/config/environment" if File.exist?(options[:config]) config = options[:config] @@ -74,20 +73,23 @@ if File.exist?(options[:config]) if cfgfile[/^#\\(.*)/] opts.parse!($1.split(/\s+/)) end - app = eval("Rack::Builder.new {( " + cfgfile + "\n )}.to_app", nil, config) + inner_app = eval("Rack::Builder.new {( " + cfgfile + "\n )}.to_app", nil, config) else require config - app = Object.const_get(File.basename(config, '.rb').capitalize) + inner_app = Object.const_get(File.basename(config, '.rb').capitalize) end else - app = Rack::Builder.new { - use Rails::Rack::Logger - use Rails::Rack::Static - use Rails::Rack::Debugger if options[:debugger] - run ActionController::Dispatcher.new - }.to_app + require RAILS_ROOT + "/config/environment" end +inner_app = ActionController::Dispatcher.new +app = Rack::Builder.new { + use Rails::Rack::Logger + use Rails::Rack::Static + use Rails::Rack::Debugger if options[:debugger] + run inner_app +}.to_app + puts "=> Call with -d to detach" trap(:INT) { exit } diff --git a/railties/lib/rails_generator/generators/applications/app/app_generator.rb b/railties/lib/rails_generator/generators/applications/app/app_generator.rb index fb3a407d2e..4bb94ff96d 100644 --- a/railties/lib/rails_generator/generators/applications/app/app_generator.rb +++ b/railties/lib/rails_generator/generators/applications/app/app_generator.rb @@ -197,6 +197,7 @@ class AppGenerator < Rails::Generator::Base if options[:with_dispatchers] dispatcher_options = { :chmod => 0755, :shebang => options[:shebang] } + m.file "dispatches/config.ru", "config.ru" m.file "dispatches/dispatch.rb", "public/dispatch.rb", dispatcher_options m.file "dispatches/dispatch.rb", "public/dispatch.cgi", dispatcher_options m.file "dispatches/dispatch.fcgi", "public/dispatch.fcgi", dispatcher_options diff --git a/railties/lib/tasks/framework.rake b/railties/lib/tasks/framework.rake index df080e94ac..d639214ffe 100644 --- a/railties/lib/tasks/framework.rake +++ b/railties/lib/tasks/framework.rake @@ -128,6 +128,7 @@ namespace :rails do desc "Generate dispatcher files in RAILS_ROOT/public" task :generate_dispatchers do require 'railties_path' + FileUtils.cp(RAILTIES_PATH + '/dispatches/config.ru', RAILS_ROOT + '/config.ru') FileUtils.cp(RAILTIES_PATH + '/dispatches/dispatch.fcgi', RAILS_ROOT + '/public/dispatch.fcgi') FileUtils.cp(RAILTIES_PATH + '/dispatches/dispatch.rb', RAILS_ROOT + '/public/dispatch.rb') FileUtils.cp(RAILTIES_PATH + '/dispatches/dispatch.rb', RAILS_ROOT + '/public/dispatch.cgi') |