edwardila
(Edward Skalibog)
1
Discourse チーム、こんにちは
プラグインディレクトリ内の Gemfile と、必要に応じて外部の gem を追加するための興味深いソリューションをご提案します。
# プラグインの Gemfile を読み込む
Dir.glob File.expand_path("../plugins/*/{Gemfile}", __FILE__) do |file|
eval_gemfile file
end
これをメインの Gemfile に追加すれば、プラグインからの Gemfile を読み込むことができます。
このソリューションについて議論しましょう。
追伸:eval_gemfile の DSL ドキュメントは https://apidock.com/ruby/v2_6_3/Bundler/Dsl/eval_gemfile です。
「いいね!」 2
Falco
(Falco)
2
それは興味深いですね!現時点では、プラグインは plugin.rb ファイルに再帰的な依存関係ツリー全体をリストすることで、gem を要求できます。例:
「いいね!」 2
edwardila
(Edward Skalibog)
3
ありがとうございます、まさに探していたものです。
ただし、私の判断の方が私にとって明確で理解しやすいと思います。
その理由(私見):
- plugin.rb がよりクリーンになります
- Gemfile が Rails 開発者にとってより理解しやすくなります。
「いいね!」 1
sam
(Sam Saffron)
4
残念ながら、これによりロックファイルが常に変化するものとなり、それをソース管理に含めることになります。
Gem ファイルは便利ですが、デルタロックファイルを配信できるようになるまでは、この種のソリューションは機能しません。