¿Es posible crear un ejecutable Ruby basado en Thor que acepte espacios de nombres? Para permitir, por ejemplo, lo siguiente de la línea de comandos: ./thorfile greet:formal
Ejecutable basado en Ruby Thor con espacios de nombres
Dada Tengo el siguiente thorfile:
#!/usr/bin/env ruby
require 'rubygems'
require 'thor'
class TalkTasks < Thor
namespace "talk"
desc "greet", "says hello"
def greet
puts "Hello!"
end
class Formal < Thor
namespace "talk:formal"
desc "greet", "says a formal hello"
def greet
puts "Good evening!"
end
end
end
TalkTasks.start
Este thorfile proporciona las siguientes tareas (thor -T
):
thor talk:formal:greet # says a formal hello
thor talk:greet # says hello
que pueda también utilice thorfile directamente como un ejecutable:
./thorfile greet
Que muestra:
¡Hola!
¿Cómo puedo obtener ./thorfile formal:greet
(o algo similar) para ejecutar el método de saludo en la clase formal, con el fin de pantalla:
Buenas noches!
Tome un vistazo a esta respuesta: http://stackoverflow.com/questions/5663519/namespacing-thor-commands-in-a-standalone-ruby-executable –