LIBFREDO6_Dir_44\Lib6Core_44.rb文件中的Plugin.load_all_plugins会自动加载 格式为 /\A(.+)_Dir_(\d\d)/i 目录中的rb文件,有时候很不方便。
解决办法
1 直接让 Plugin.load_all_plugins 返回
2 增加 加载单个fredo插件目录的函数
def Plugin.load_plugin path
@@lst_files_error = []
t0 = Time.now.to_f
hsh_plug = {}
# Dir[File.join(LibFredo6.sudir, "*_Dir_*")].each do |f|
f=File.join(LibFredo6.sudir, path)
s = File.basename(f)
# next unless s =~ /\A(.+)_Dir_(\d\d)/i
s =~ /\A(.+)_Dir_(\d\d)/i
lplu = Dir[File.join(f, "*.plugin")]
# next if lplu.empty?
pluname = File.basename lplu[0], ".plugin"
key = $1
# next if key == "LIBFREDO6"
oldver = hsh_plug[key]
if oldver
hsh_plug[key][1] = s if s > oldver[1]
else
hsh_plug[key] = [pluname, s]
end
# end
#Loading the plugins
lplug = hsh_plug.values.sort { |a, b| a[0] <=> b[0] }
p "++"*10
p lplug
p "++"*10
lplug.each { |a| Traductor::Plugin.new.load_from_config *a }
Plugin.average_load_time true
#Signaling errors
#@@timer_error_id = UI.start_timer(0, false) { Plugin.signal_error_in_loading }
lplug
end
3 在fredo插件的require 'LibFredo6.rb' 后面加上
Traductor::Plugin.load_plugin “插件所在目录”
该贴已经同步到 wikii的微博
|