Использование Thor для генераторов в геме Ruby - PullRequest
4 голосов
/ 15 апреля 2010

Как настроить гем, чтобы иметь двоичную команду, например "проект newProject", который использует набор команд генератора Тора для создания файлов и т. д .?

Хороший ответ описал бы, как расположить каркас гема, который при запуске из командной строки, то есть «проект newProject», создает один файл с именем «newProject.txt» в каталоге, из которого он запускается.

Я видел, что Rails 3 использует Thor для питания своих генераторов; кажется действительно хорошим решением, и я хотел бы использовать подобный подход в не-Rails Ruby Gem, над которым я работаю. Пробовал смотреть на источник Rails 3, но он немного лабиринтный, поэтому вопрос.

Ответы [ 2 ]

5 голосов
/ 26 января 2011

Не знаю, нашли ли вы свое решение, но есть эпизод Railscast о том, как сделать генераторы, использующие Thor, как это было сделано в Rails 3. Это должно помочь. Также есть это руководство через Platformatec.

Я понимаю, что вы не хотите создавать Rails-генераторы, но основная идея их работы довольно хорошо объяснена, и я думаю, что это поможет вам встать на правильный путь.

5 голосов
/ 16 апреля 2010

в вашем проекте gem, вам нужно включить папку "bin". эта папка должна включать скрипт ruby, который является вашим генератором, без расширения файла. если вы используете что-то вроде ювелирного изделия, оно автоматически просканирует папку с мусором во время упаковки. когда gem установлен, система gem поместит файлы из папки bin в вашу установку ruby, чтобы вы могли запускать их так, как вам хочется.

файлы bin - это просто старые скрипты ruby, ничего особенного.

...