выполнить задачу Thor, расположенную в связанном драгоценном камне

У меня есть драгоценный камень, my_gem, который имеет thor в качестве зависимости во время выполнения. У меня есть подкласс Тора, расположенный в драгоценном камне по адресу:

lib/tasks/task.thor

из исходного каталога драгоценного камня я могу запустить:

bundle
thor task:my_task

и my_task будет выполнен.

Однако, если я включу my_gem в Gemfile для другого проекта, при запуске:

bundle
thor task:my_task

Я получил:

Нет доступных заданий Тора

Что я делаю неправильно?


person Patrick Klingemann    schedule 29.11.2012    source источник
comment
У меня была мысль, что мне может понадобиться bundle exec thor task:my_task, но это все равно не решило проблему.   -  person Patrick Klingemann    schedule 30.11.2012
comment
Можете ли вы предоставить полный пример, чтобы другие могли попытаться воспроизвести проблему? Так вам будет легче помочь.   -  person N.N.    schedule 15.02.2013
comment
Тор задачи из других драгоценных камней не включаются автоматически в ваш драгоценный камень. не уверен, если и как вы можете указать Тору загружать эти файлы задач из драгоценного камня, но поскольку папка lib драгоценного камня находится в пути загрузки, вы должны каким-то образом загрузить ее.   -  person rubiii    schedule 03.07.2013


Ответы (1)


Мне кажется, если я правильно понимаю, что ваша lib/tasks/task.thor на самом деле является частью самого драгоценного камня, и что вы ожидаете, что thor найдет ваш файл thor, похороненный в вашем драгоценном камне.

Если это так, это не сработает, так как thor не будет автоматически просматривать каталоги вашего драгоценного камня.

Вы можете вообще не использовать файлы thor и просто написать команду, которая будет использовать thor для обработки ваших параметров командной строки, как это делает, например, Rails.

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

person Med Fritchell    schedule 18.07.2014