В моем геме я хотел бы иметь исполняемую команду с такими аргументами:
foo generate project
foo generate config
foo say_hi
Итак, я сделал
foo / bin / foo
#!/usr/bin/env ruby
require 'foo'
Foo::Foo.start
И файл Foo в foo / lib / thor / foo.rb
module Foo
class Foo < Thor
desc "generate [WHAT]"
def generate(*args)
end
desc "say_hi"
def say_hi(*args)
....
end
end
end
И foo / lib / thor / generators /project.rb И foo / lib / thor / generators / config.rb
Где я хотел бы указать классы, унаследованные от Thor :: Group, как примеры katz ...
module Foo
module Generators
class Project < Thor::Group
include Thor::Actions
....
end
end
end
Итак, мой вопрос: как мне настроить все, чтобы я мог вызывать эти генераторы из исполняемого файла, например:
foo generate config
Я на правильном пути?В идеале ввод foo
сам по себе должен помочь say_hi
и всем генераторам.