#
# プラグインの処理を行うクラスです
class FeedGenPluginManager
- def self.exec(mode, feed, entries)
+ def self.exec(mode, feed, entry)
l_feed = feed.dup.freeze
- l_entries = entries.dup.freeze
+ l_entry = entry.dup.freeze
Dir.foreach(PLUGINDIR) do |fn|
next unless File.extname(fn) == '.rb'
require File.join(PLUGINDIR, fn)
plugin_name = "FeedGenPlugins::"
plugin_name << File.basename(fn).gsub(/\.rb\Z/, "")
plugin_ins = plugin_name.split(/::/).inject(Object) { |c,name| c.const_get(name) }
- plugin_ins.exec(mode, l_feed, l_entries)
+ plugin_ins.new.exec(mode, l_feed, l_entry)
end
end
end
params["mode"] = "error"
else
# 成功時はプラグイン処理を実施する
- FeedGenPluginManager.exec("newentry", db["feed"], db["entry"])
+ FeedGenPluginManager.exec("newentry", db["feed"], Entry.new(params))
end
# 画面を戻った際の処理
when "back"
params["mode"] = "error"
else
# 成功時はプラグイン処理を実施する
- FeedGenPluginManager.exec("editentry", db["feed"], db["entry"])
+ FeedGenPluginManager.exec("editentry", db["feed"], Entry.new(params))
end
when "back"
session["target_filepath"] = params["target_filepath"]
unless successed
db["error"] = "日記の編集処理に失敗しました。<br>該当の日記が既に存在しない可能性があります。"
params["mode"] = "error"
- else
- # 成功時はプラグイン処理を実施する
- FeedGenPluginManager.exec("delentry", db["feed"], db["entry"])
end
when "back"
session["target_filepath"] = params["target_filepath"]