怠惰なCLIクラスを書いてみました
最近、CLIをRubyベースのものもちょこちょこと書いている気がします。一コマンドで完結するものはoptparseを使っていますが、gemのコマンドとしてジェネレータや開始、停止を持つようなものはサブコマンドを使った実装が欲しくなります。それを簡単に書くLazyCLIを作りました。
と、言っても100行に満たない小さな実装なのでgistにペトッと貼り付けました。
使い方は簡単で継承して、サブコマンドにしたいメソッドをcmd関数の第一引数で指定して、runメソッドを呼ぶだけです。あとは良きに計らって使用法とか生成されます。
これでオレオレCLIライフがはかどりますね。
TODO: *argsをoptparseに放り込んだ時の挙動を考える。
Thorというgemがあることを知りました。gem探すの難しい><