From accd9b4634f1a2f220bc3e38cf5c4add04186fe6 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Fri, 25 Sep 2009 21:32:28 -0500 Subject: Restore "Start Rails::Application object This reverts commit f14ad4145622f45e9bf7433b5fdef4ce427efe4b. --- railties/lib/rails.rb | 2 ++ railties/lib/rails/application.rb | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 railties/lib/rails.rb create mode 100644 railties/lib/rails/application.rb (limited to 'railties/lib') 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 -- cgit v1.2.3