Esta pregunta comenzó here. Pero cambió significativamente a medida que aprendí más sobre Thor.Cómo registro un Thor :: Grupo como un subcomando con argumentos
Estoy tratando de crear un subcomando Thor :: Group que tome un argumento. Curiosamente, funciona si no hay argumentos.
¿Puedo utilizar un Thor :: Group como un comando secundario?
Esto funciona cuando escribo: 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
Pero esto no funciona cuando escribo: foo counter 5
module Foo
class CLI < Thor
register(Counter, 'counter', 'counter <number>', '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
Se responde: counter was called incorrectly. Call as foo counter number