4

バイナリ コマンド (例: Thor の一連のジェネレータ コマンドを使用してファイルを作成する「project newProject」) を持つように gem を設定するにはどうすればよいですか?

良い答えは、コマンド ラインから実行された場合、つまり "project newProject" という gem のスケルトンをレイアウトする方法を説明することです。これは、実行元のディレクトリに "newProject.txt" という名前のファイルを 1 つ作成します。

Rails 3 が Thor を使用してジェネレーターに電力を供給しているのを見てきました。私が取り組んでいるRails以外のRuby gemで同様のアプローチを使用したいと思います。Rails 3 のソースを調べてみましたが、少し複雑なため、質問です。

4

2 に答える 2

5

解決策が見つかったかどうかはわかりませんが、Rails3で行われたようにThorを使用してジェネレーターを作成する方法に関するRailscastのエピソードがあります。これは役立つはずです。Platformatecを介したこのチュートリアルもあります。

Railsジェネレーターを作成したくないことは承知していますが、Railsジェネレーターの動作の背後にある基本的な考え方はかなりよく説明されており、これは正しい軌道に乗るのに役立つと思います。

于 2011-01-26T06:36:35.473 に答える
5

gem プロジェクトに「bin」フォルダーを含める必要があります。このフォルダーには、ファイル拡張子なしで、ジェネレーターである ruby​​ スクリプトを含める必要があります。宝石商のようなものを使用している場合は、パッケージ化中に bin フォルダーを自動的にスキャンします。gem がインストールされると、gem システムは bin フォルダーから Ruby インストールにファイルを配置し、必要に応じてそれらを実行できるようにします。

bin ファイルは単純な古い Ruby スクリプトであり、特別なことは何もありません。

于 2010-04-15T21:03:50.907 に答える