aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2009-09-25 21:32:28 -0500
committerJoshua Peek <josh@joshpeek.com>2009-09-25 21:32:28 -0500
commitaccd9b4634f1a2f220bc3e38cf5c4add04186fe6 (patch)
tree161ff6447948d304b191ac7923a30a67c9d27cbf /railties/lib
parentbace497aea7be4d4b1bab13a6ccbfbb297550544 (diff)
downloadrails-accd9b4634f1a2f220bc3e38cf5c4add04186fe6.tar.gz
rails-accd9b4634f1a2f220bc3e38cf5c4add04186fe6.tar.bz2
rails-accd9b4634f1a2f220bc3e38cf5c4add04186fe6.zip
Restore "Start Rails::Application object
This reverts commit f14ad4145622f45e9bf7433b5fdef4ce427efe4b.
Diffstat (limited to 'railties/lib')
-rw-r--r--railties/lib/rails.rb2
-rw-r--r--railties/lib/rails/application.rb29
2 files changed, 31 insertions, 0 deletions
diff --git a/railties/lib/rails.rb b/railties/lib/rails.rb
new file mode 100644
index 0000000000..8c9bc799a4
--- /dev/null
+++ b/railties/lib/rails.rb
@@ -0,0 +1,2 @@
+require 'rails/application'
+require 'rails/initializer'
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