Thor で外部コマンドのオプションを help で出力する
次のように外部で定義したコマンドの help を表示したかったんですが、これだとオプションの desc
が出力されませんでした。
require "thor" class Echo < Thor::Group class_option :name, desc: "name=[NAME]" def output puts options[:name] end end class CLI < Thor register Echo, "echo", "", "" end CLI.start ["help", "echo"] # => # Usage: # test.rb
回避方法
次のように class_options
を設定するとよいみたい。
require "thor" class Echo < Thor::Group class_option :name, desc: "name=[NAME]" def output puts options[:name] end end class CLI < Thor register Echo, "echo", "echo [OPTION]", "Output" # class_options を設定 tasks["echo"].options = Echo.class_options end # CLI.start ["help", "echo"] # => # Usage: # test.rb # Options: # [--name=NAME] # name=[NAME]