After upgrading to rails3.2.1,this warning occurs:
You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them
I just went through this and found that you just have to go through each plugin to check a few things:
vendor/plugins
vendor/plugins
and move it to lib/plugins
One thing I ran across is that you then need to require all those plugins manually. Here is the initializer I created and placed in config/initializers/plugins.rb
:
Dir[Rails.root.join('lib', 'plugins', '*')].each do |plugin|
next if File.basename(plugin) == 'initializers'
lib = File.join(plugin, 'lib')
$LOAD_PATH.unshift lib
begin
require File.join(plugin, 'init.rb')
rescue LoadError
begin
require File.join(lib, File.basename(plugin) + '.rb')
rescue LoadError
require File.join(lib, File.basename(plugin).underscore + '.rb')
end
end
initializer = File.join(File.dirname(plugin), 'initializers', File.basename(plugin) + '.rb')
require initializer if File.exists?(initializer)
end
I also had the problem of initializers I needed for some of the plugins, so I moved those particular initializers into the lib/plugins/initializers
folder. You have to name them the name of the plugin, so an initializer for the my_plugin
plugin would have to be in the file lib/plugins/initializers/my_plugin.rb
Hope this helps!