2017-07-07 5 views
0

私はRails 5プロジェクトを持っており、私はメタプログラミングの土地に深く関わっています。Railsを再起動しなくても、どのように宝石を自動ロードできますか?

要件の1つは、宝石の依存関係の一部(Gemfileすなわち)は、システム管理者がその場で修正することができるということです。これは、追加されるかもしれない2つの宝石に限られています。それらはすべて類似した:: Rails :: Engine構造を持っています。

私は<Module>.autoload :<class_name>, <file path>を含め、いくつかの戦略をプレーしてきたが、それはすべての依存関係をロードしません。私がやりたいのは何

はレールの実行中に動的にサーバーを再起動することなく、更新Gemfile.lock(基本的にBundler.setup)をロードです。

私はそのような何か、もう一度Bundler.setupを実行して、オートロードパスを変更、bundle.installを実行できますか?

その後、bundle installレールが多くを混乱させるに再起動し、それに失敗?それを行うための安全なことではないよう

+0

私はいくつかの設定が変更された宝石をインストールしたりアンインストールしたり、これらの変更を検出するためにレールサーバーを再起動する必要がある場合には実現できないと思います –

答えて

0

は、調査の多くの後、それが見えます。 Bundlerは依存関係をうまく処理します。この場合、私が書くことよりも優れています。また、Railsは再起動をうまく処理します(touch restart.txt)。

関連する問題