Lokkaプラグインのgemとi18nを本体から分離してみた
プラグインで使用するgemとi18nについて、本体から分離するコードを追加してみました。この修正によりAPP_ROOT/public/plugin/lokka-*/GemfileおよびAPP_ROOT/public/plugin/lokka-*/i18nにプラグイン固有の設定を追加することができます。
プラグインで使用するgem
プラグインにGemfileがある場合、それらを読み込むようAPP_ROOT/Gemfileを修正しました。
Dir["public/plugin/lokka-*/Gemfile"].each do |path| File.open(path) do |f| f.lines.each do |line| eval(line) end end end
プラグインのi18n
プラグインにi18nディレクトリがある場合、それを追加するようAPP_ROOT/lib/lokka/app.rbを修正しました。
if File.exist? plugin_i18n = File.join(paths[0], paths[1], paths[2], 'i18n') if (s = File.stat plugin_i18n) && s.directory? R18n.extension_places << R18n::Loader::YAML.new(plugin_i18n) end end
余談
GitHubにおいて、ファイル単位でfork元にpull requestを送れないのだろうか...コミット単位なのかな。