Ponieważ otwieranie nowej karty jest tak trywialne, sugeruję, aby wykonywanie poleceń było tak trywialne, jak to możliwe, i robienie tego w staromodny sposób.
Wywołałeś dwa konkretne działania, więc popracujmy nad nimi. Zauważ, że zamierzam przyjmować wiele założeń opartych na tym, co wiem o Railsach, ale niekoniecznie specyficznych dla twojego projektu.
Krótko mówiąc, alias polecenia, aby zrobić to, co chcesz, lub utwórz prosty skrypt powłoki, aby zrobić to, co chcesz.
Utwórz skrypt powłoki o nazwie myapp.start
z zawartością:
#!/bin/bash
cd Development/rails/myapp
# Do any common environment initializations here, such as RAILS_ENV=development
script/server
Prawdopodobnie będziesz musiał utworzyć plik o nazwie .bash_profile w swoim katalogu domowym lub zmodyfikować plik już istniejący i dodać wiersz podobny;
export PATH="$HOME/bin:${PATH}"
Następnie utwórz katalog bin w folderze domowym i przenieś do niego skrypt myapp.start. Upewnij się także, że właściciel ma bit wykonania przynajmniej ( chmod 700 myapp.start
).
Następnie otwórz Terminal.app, wpisz myapp.start
i masz uruchomione szyny. Możesz też wpisać, myaa następnie nacisnąć Tabi pozwolić autouzupełnianiu wypełnić resztę, nacisnąć return. Boom, serwer działa.
Według rozszerzenia możesz już zrozumieć, jak zrobić ogon pliku dziennika, ale i tak będę kontynuować. Utwórz inny plik w ~ / bin o nazwie myapp.taillog z zawartością:
#!/bin/bash
tail -F ~/Development/rails/myapp/logs/development.log
Ponownie, umieść go w folderze bin chmod 700 ~/bin/myapp.taillog
, a następnie po uruchomieniu, a następnie serwer Rails, szybko naciśnij ⌘t, wpisz myapp.taillog
i masz wydrukowany plik dziennika.
Dwa polecenia, dwa dodatkowe naciśnięcia klawiszy (otwieranie kart), może to wystarczy?
Są tutaj dwie bardzo oczywiste ulepszenia. Jednym z nich jest napisanie funkcji powłoki zdolnej do „odkrywania” nazw aplikacji railsowych, więc nie musisz pisać skryptu powłoki dla każdej z nich, napisanie pod-komendy zaprojektowanej do uruchomienia webbricka / wybranego serwera railsowego, i komendy do rutynowego wykonywania kilku kluczowych plików dziennika.
Drugie ulepszenie polega na tym, że prawdopodobnie możesz napisać AppleScript, który wykonuje niezbędną interakcję z terminalem i odpowiednie wykonywanie poleceń w każdym z nich. Ale szczerze mówiąc, ssę AppleScript i cały dzień pracuję w kodzie bash i perl, więc oferuję porady dotyczące moich umiejętności :).