Thor::Groupを使おう
railsとかのrails new hoge
みたいなのはどうやってやっているのかな?という疑問を昨日書いたが,これはThor::Groupの力を使うことで実現される.
railsのソースを眺めていてThor::Groupを継承している部分があるのは知っていたが,ファイルをずらーっと生成してくれる便利なアイテムそのものとは!
使い方はThor::Groupを継承し,Thor::Actionsをincludeする.で,これのメソッド・インスタンスメソッドとして設定等を書いていく.
- テンプレートの位置の基準になるパスの指定
- コマンド引数を変数に入れる設定
template テンプレートファイル名, 実際のファイル名
の形式でテンプレートファイルと出力ファイルを指定- templateはerbで,二つ目で設定したコマンド引数が入った変数が使える
というような仕組みになっている.テンプレート専用のフォルダとかを作ると便利.
参考にしたのはここ(http://hibariya.github.io/entries/20111025/a0.html)
詳細部分はこの方の解説を参考にしてください.
これで,できることがかなり増えたと思う. これのnode.js版とかってあるのかな?純jsなものを作ろうと思ったらそういうのがあると便利そうだけど・・・