From ad6be0876271f86e76c89645a0106b85c9d77ad7 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Tue, 22 Jun 2010 23:51:28 +0200 Subject: Made Engine valid rack app with its own middleware stack --- railties/lib/rails/engine.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'railties/lib/rails/engine.rb') diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb index 555bc9dbc8..f8a33ffe24 100644 --- a/railties/lib/rails/engine.rb +++ b/railties/lib/rails/engine.rb @@ -140,6 +140,19 @@ module Rails end end + def app + raise "You can't use Engine as rack application without providing valid rack endpoint" unless endpoint + @app ||= config.middleware.build(endpoint) + end + + def endpoint + self.class.endpoint + end + + def call(env) + app.call(env) + end + # Add configured load paths to ruby load paths and remove duplicates. initializer :set_load_path, :before => :bootstrap_hook do _all_load_paths.reverse_each do |path| -- cgit v1.2.3