0

現在、jRuby gem を作成していますが、さまざまなコマンド (bin フォルダーから) をさまざまなタイプのユーザーに公開する必要があるかもしれません。「_userX」や「_userY」など、そのためのさまざまなgemを作成するのに適した標準ですか? (また、宝石名はプロジェクト名とは異なる場合がありますが、これは標準ではないことがわかっています)

したがって、「mygem_for_admin_users」と「mygem_for_normal_users」のようなものが必要です。

乾杯

4

1 に答える 1

1

それは間違いなく機能し、間違いなくそれを行っている人がいます (例: https://github.com/mongodb/mongo-ruby-driver )。

これは明らかに非常に主観的なものですが、個人的には、プロジェクト名と一致しない gemspec を持つことや、1 つのプロジェクトに複数の gemspec を持つことは悪い習慣だと感じています。最終的に、それが問題に対する最もクリーンな解決策である場合、それは最もクリーンな解決策であり、それを選択する必要がありますが、最初に他の方法を検討してください。

  • 1 つのベース gem と、ベース gem から異なるコマンド セットを公開する 2 つ以上のインターフェイス gem を使用できます。

  • ライブラリ自体からさまざまなクラスのユーザーを特定して、すべてのコマンドを使用できるようにすることもできますが、適切なユーザー タイプが設定されていない限り、一部のコマンドは制限されます。

  • ユーザータイプについて同じ推論を行う多くのサブコマンド(バンドルやgitなど)を使用して、すべてを1つのコマンドに組み込むことができます

より多くのオプションがあるかもしれません。

TL;DR: 素晴らしい練習ではありませんが、人々はそれを行い、何も発火しません。最初にそれを回避する簡単な方法がないことを確認してください。

于 2012-04-04T05:06:49.220 に答える