1

私は現在、バックグラウンド処理ライブラリに関するいくつかの機能を抽象化する内部宝石を構築しています。この gem の目的は、いくつかの重複したコードを削除し、いくつかの Rails プロジェクトにまたがって、ライブラリを簡単に変更できるようにすることです。

ユーザーが初期化子で使用するライブラリ (resque、sidekiq、遅延ジョブなど) を構成できるようにしたいと考えています。問題は、アダプター gem がすべての依存関係を処理する必要があることです。

私の質問は、ここでのベストプラクティスは何ですか? 次の 2 つのオプションしか表示されません。

  • サポートされているすべてのライブラリを依存関係としてアダプター gem に含めます。(不要なソフトウェアをサーバーにインストールします。)

  • 依存関係を一切含めず、アクティブな構成に従って gemfile に特定の依存関係を含めるようにユーザーに指示します。(コードが重複し、人的エラーにつながる可能性があります。)

ベストプラクティスとしてどのオプションを検討しますか? 私が見逃している他のオプションはありますか?

4

1 に答える 1

4
  1. gem をダウンロードしてインストールしても、サポートされているすべてのライブラリが自動的にダウンロードされるわけではありません。
  2. gem をインストールすると、オプションを設定するためのコマンド ライン コマンドが提供されます (たとえば、gem がfooの場合、 のようなものfoo setup bar-option)。このコマンドを実行すると、選択したライブラリを示す構成ファイルが作成され、その時点で必要なライブラリもダウンロードされます。
  3. gem を使用する場合、使用するライブラリについて作成された構成ファイルを参照する必要があります。

これはおそらく、gem 内の rake ファイルでプログラムする必要があると思います。

于 2013-08-29T10:00:16.460 に答える