Этот вопрос начался здесь . Но значительно изменился, когда я узнал больше о Торе.
Я пытаюсь создать подкоманду Thor :: Group, которая принимает аргумент. Как ни странно, это работает, если нет аргументов.
Могу ли я использовать Thor :: Group в качестве подкоманды?
Это работает, когда я набираю: foo counter
foo / bin / foo
module Foo
class CLI < Thor
register(Counter, 'counter', 'counter', 'Count up from the 1.')
end
class Counter < Thor::Group
desc "Prints 1 2"
def one
puts 1
end
def two
puts 2
end
end
end
Foo::CLI.start
Но это не работает, когда я введите: foo counter 5
module Foo
class CLI < Thor
register(Counter, 'counter', 'counter ', 'Count up from the input.')
end
class Counter < Thor::Group
argument :number, :type => :numeric, :desc => "The number to start counting"
desc "Prints 2 numbers based on input"
def one
puts number + 0
end
def two
puts number + 1
end
end
end
Foo::CLI.start
Отвечает: counter был вызван неправильно. Позвоните по номеру счетчика foo