べ、vendor/plugins 以下だって reload したいんだからっ、、!

Rails2 になって require_dependency や Reloadable とか色々消え失せた?
ファイル管理は Dependencies クラスが行っていて、例えばあるプラグインを reload させたい場合、

[RAILS_ROOT + '/vendor/plugins/yad_openid/lib'].each do |path|
  Dependencies.load_once_paths.delete(path) if Dependencies.load_once_paths.include?(path)
end

とする。
クラス変数 load_once_paths は load_path のサブセットであり、その名の通り reload しないパスを保持している。



具体例を追記@2008/05/23

environments/development.rb, test.rb で

config.after_initialize {
  Dependencies.load_once_paths = Dependencies.load_once_paths.select { |path| !path =~ /your_plugin_name/ }
}

これでばっちりリロードしてくれる。