diff options
author | Piotr Sarnacki <drogus@gmail.com> | 2010-06-23 16:10:26 +0200 |
---|---|---|
committer | Piotr Sarnacki <drogus@gmail.com> | 2010-09-03 22:59:03 +0200 |
commit | c787bfdf932450c5fd4c0df805454aa40a388117 (patch) | |
tree | 624f3b8acc1cbd499f6210a184aa8dfc62015dbd /railties/lib/rails/application/railties.rb | |
parent | ad6be0876271f86e76c89645a0106b85c9d77ad7 (diff) | |
download | rails-c787bfdf932450c5fd4c0df805454aa40a388117.tar.gz rails-c787bfdf932450c5fd4c0df805454aa40a388117.tar.bz2 rails-c787bfdf932450c5fd4c0df805454aa40a388117.zip |
Engine can now load its own plugins
Diffstat (limited to 'railties/lib/rails/application/railties.rb')
-rw-r--r-- | railties/lib/rails/application/railties.rb | 24 |
1 files changed, 12 insertions, 12 deletions
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 |