使い方
desc
は必ず付けること。でないと警告が出る。desc
の1番目の引数はコマンド(サブコマンド) + 引数の書式desc
の2番目の引数はコマンドの説明
option :all, :type => :boolean
は--all
に対応。未設定時はnilになる。- サブコマンドはThorクラスを継承したクラスを作って、親クラスに以下の記述を入れる。
subcommand "サブコマンド名", サブコマンドのクラス
- 例:
subcommand "tag", TagCommand
長い説明
以下のようにする。
- ヒアドキュメント(インデントあり)
- gsubで改行をU+0005に変換(公式ドキュメントに記載あり)
long_desc <<~LONGDESC.gsub(/\n/, "\x5")
説明1行目
説明2行目
説明3行目
LONGDESC
ただし、行が長すぎると折り返されちゃうようです[^1]。
管理外メソッド
メソッドを定義するとコマンドとして扱われますが、
コマンドとして扱われたくないメソッドを定義する時は、
no_commands
またはno_tasks
で囲みます。
no_commandsより、
class MyScript < Thor
no_commands do
def this_is_not_a_command
end
end
end