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/lib | |
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/lib')
-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 |
3 files changed, 13 insertions, 9 deletions
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') |