У меня есть движок rails, который предоставляет команду myengine create
. Эта команда создает полноценное приложение Rails с уже интегрированным в него myengine
. Команда вызывает rails new ...
для создания приложения. Все работает нормально, пока я выполняю эту команду вне папки двигателя. Однако, если я выполню ее внутри папки движка, она сломается, потому что она запускает команду bin/rails
внутри движка вместо обычной команды rails
, установленной в системе. bin/rails
внутри папки двигателя настроен для работы с двигателями, поэтому у него нет команды rails new
.
Я пытаюсь написать автоматические тесты, которые запускают команду myengine create
из движка для проверки вывода. Однако, если я нахожусь внутри каталога двигателя, вызов rails new
завершается ошибкой.
Я пытался указать точную команду rails
, например "/home/me/.rvm/gems/ruby-2.3.1/bin/rails new ..."
, но это не работает.
Единственный обходной путь, который мне удалось придумать, — собрать приложение вне папки движка, используя метод Dir.chdir
или inside
Тора. Я могу протестировать его там или даже переместить только что созданную папку приложения обратно в мою папку spec/
. Это работает, но кажется неряшливым. Должен быть какой-то способ сгенерировать новый внутри движка.