Thor::Group 内でオプションを定義する

Thor::Group を継承したクラスでオプションを定義する場合 class_option を使えばよいみたいです。

コード

require "thor"

class Hello < Thor::Group
    class_option :name, type: :string

    def hello
        puts "Hello, #{options[:name]}"
    end
end


class CLI < Thor
    register Hello, "hello", "", ""
end


CLI.start %w(hello --name homu)
# => Hello, homu
CLI.start %w(hello --name mado)
# => Hello, mado