diff options
author | Joshua Peek <josh@joshpeek.com> | 2009-09-25 21:32:28 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2009-09-25 21:32:28 -0500 |
commit | accd9b4634f1a2f220bc3e38cf5c4add04186fe6 (patch) | |
tree | 161ff6447948d304b191ac7923a30a67c9d27cbf /railties/lib/rails | |
parent | bace497aea7be4d4b1bab13a6ccbfbb297550544 (diff) | |
download | rails-accd9b4634f1a2f220bc3e38cf5c4add04186fe6.tar.gz rails-accd9b4634f1a2f220bc3e38cf5c4add04186fe6.tar.bz2 rails-accd9b4634f1a2f220bc3e38cf5c4add04186fe6.zip |
Restore "Start Rails::Application object
This reverts commit f14ad4145622f45e9bf7433b5fdef4ce427efe4b.
Diffstat (limited to 'railties/lib/rails')
-rw-r--r-- | railties/lib/rails/application.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb new file mode 100644 index 0000000000..7b50d2622e --- /dev/null +++ b/railties/lib/rails/application.rb @@ -0,0 +1,29 @@ +require 'action_controller' + +module Rails + class Application + def self.load(path, options = {}) + config = options[:config] || 'config.ru' + config = File.join(path, config) + + if config =~ /\.ru$/ + cfgfile = File.read(config) + if cfgfile[/^#\\(.*)/] + opts.parse!($1.split(/\s+/)) + end + inner_app = eval("::Rack::Builder.new {( " + cfgfile + "\n )}.to_app", nil, config) + else + require config + inner_app = Object.const_get(File.basename(config, '.rb').capitalize) + end + end + + def initialize + @app = ActionController::Dispatcher.new + end + + def call(env) + @app.call(env) + end + end +end |