From c787bfdf932450c5fd4c0df805454aa40a388117 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Wed, 23 Jun 2010 16:10:26 +0200 Subject: Engine can now load its own plugins --- railties/lib/rails/application/railties.rb | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'railties/lib/rails/application/railties.rb') diff --git a/railties/lib/rails/application/railties.rb b/railties/lib/rails/application/railties.rb index 14ba0afc7c..2b3783e998 100644 --- a/railties/lib/rails/application/railties.rb +++ b/railties/lib/rails/application/railties.rb @@ -1,13 +1,10 @@ -module Rails - class Application - class Railties - # TODO Write tests for this behavior extracted from Application - def initialize(config) - @config = config - end +require 'rails/engine/railties' +module Rails + class Application < Engine + class Railties < Rails::Engine::Railties def all(&block) - @all ||= railties + engines + plugins + @all ||= railties + engines + super @all.each(&block) if block @all end @@ -21,10 +18,13 @@ module Rails end def plugins - @plugins ||= begin - plugin_names = (@config.plugins || [:all]).map { |p| p.to_sym } - Plugin.all(plugin_names, @config.paths.vendor.plugins) - end + @plugins ||= super + plugins_for_engines + end + + def plugins_for_engines + engines.map { |e| + e.railties.plugins + }.flatten end end end -- cgit v1.2.3