/ / Jak uruchomić „szyny nowe ..” z wnętrza silnika - rubinowe szyny, silniki szynowe

Jak uruchomić "szyny nowe .." z wnętrza silnika - szyny-ruby, szyny-silniki

Mam silnik szynowy, który wyświetla polecenie o nazwie myengine create. To polecenie generuje pełną aplikację Railsową z myengine już zintegrowane z nim. Komenda wywołuje rails new ... wygenerować aplikację. Wszystko działa dobrze, dopóki wykonam to polecenie na zewnątrz folderu silnika. Jeśli jednak wykonam go w folderze silnika, psuje się, ponieważ uruchamia bin/rails polecenie wewnątrz silnika, zamiast zwykłego rails polecenie zainstalowane w systemie. The bin/rails wewnątrz folderu silnika jest skonfigurowany do pracy z silnikami, więc nie ma rails new dowództwo.

Próbuję napisać automatyczne testy, które uruchamiają myengine create polecenie z silnika, aby sprawdzić poprawność danych wyjściowych. Jeśli jestem gdziekolwiek w katalogu silnika, dzwonię rails new zawiedzie.

Próbowałem podać dokładne rails polecenie jak "/home/me/.rvm/gems/ruby-2.3.1/bin/rails new ...", ale to nie działa.

Jedynym obejściem, jakie udało mi się wymyślić, jest zbudowanie aplikacji poza folderem silnika za pomocą Dir.chdir lub Thor inside metoda. Mogę tam przetestować, a nawet przenieść nowo wygenerowany folder aplikacji z powrotem do mojego spec/ teczka. Działa, ale wydaje się niechlujny. Musi być jakiś sposób na wygenerowanie nowego z wnętrza silnika.

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli ktoś inny na to wpadnie, skończyłem na ulepszaniu polecenia zmiany nazwy bin/rails na tymczasową nową nazwę przed próbą uruchomienia rails new. Następnie polecenie zmieniło jego nazwę raz rails new zakończony.