thor のメリット
thor は rake に比べて、
- タスク定義が Ruby メソッド
- コマンドライン引数が簡単に扱える
というメリットがあり、お気に入りです。 前者はもしかすると 「いやいや task の方が DSL 風で...」 と人によるかもしれませんが、 後者が強力なのは異論がないでしょう。 例えば、Rails の db:create を例にすると、 環境を指定するのに rake では仕方なく RAILS_ENV を使っていますが、 もし thor であれば
1 class Db < Thor 2 desc "create ENV", "Create database for specified env" 3 def create(env = 'development') 4 ...
のように、引数の処理もデフォルト値の指定も、 ruby コードそのままで非常に直感的です。
complete usage
でも、しばらく使っていると、
上記の desc 部分(usage, descprtion
http://git
これにより、以下のように記述できます。
1 class Db < Thor 2 desc "Create database for specified env" 3 def create(env = 'development') 4 ...
1 % thor list 2 thor db:create ENV = "development" # Create database for specified env
もちろん、従来の記法も利用可能です。 ユーザを増やして本家に取り込んでもらうと思うので、 よかったら使ってみてください。 バグ報告も大歓迎です。
インストール
で、こういう野良 github アプリはどうするんですかね?
とりあえず適当に clone して、complete-u
1 % gem install get_args
posted by
maiha
on Sun 28 Mar 2010
at 16:13