aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/application/railties.rb
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2010-06-23 16:10:26 +0200
committerPiotr Sarnacki <drogus@gmail.com>2010-09-03 22:59:03 +0200
commitc787bfdf932450c5fd4c0df805454aa40a388117 (patch)
tree624f3b8acc1cbd499f6210a184aa8dfc62015dbd /railties/lib/rails/application/railties.rb
parentad6be0876271f86e76c89645a0106b85c9d77ad7 (diff)
downloadrails-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.rb24
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