Dal momento che è così banale aprire una nuova scheda, suggerirei di rendere l'esecuzione dei comandi il più banale possibile, e di farlo alla vecchia maniera.
Hai chiamato due azioni specifiche, quindi lavoriamo con quelle. Nota che farò molte ipotesi basate su ciò che so di Rails, ma non necessariamente specifico per il tuo progetto.
Per farla breve, alias un comando per fare anche quello che vuoi, o creare un banale script di shell per fare quello che vuoi.
Crea uno script shell chiamato myapp.start
, con il contenuto:
#!/bin/bash
cd Development/rails/myapp
# Do any common environment initializations here, such as RAILS_ENV=development
script/server
Probabilmente dovrai anche creare un file chiamato .bash_profile nella tua home directory, o modificarne uno già esistente e aggiungere una riga come;
export PATH="$HOME/bin:${PATH}"
Quindi, crea una directory bin nella cartella home e sposta lo script myapp.start in essa. Assicurarsi inoltre che il proprietario esegua il bit almeno ( chmod 700 myapp.start
).
Quindi, apri Terminal.app, digita myapp.start
e hai i binari in esecuzione. In alternativa, digitare myaquindi premere Tabe lasciare che il completamento automatico riempia il resto, premere return. Boom, server in esecuzione.
Per estensione, potresti già capire come fare la coda di un file di registro, ma continuerò comunque. Crea un altro file in ~ / bin chiamato myapp.taillog, con il contenuto:
#!/bin/bash
tail -F ~/Development/rails/myapp/logs/development.log
Ancora una volta, posizionalo nella cartella bin chmod 700 ~/bin/myapp.taillog
, quindi dopo aver avviato il server rails, premi rapidamente ⌘t, digita myapp.taillog
e avrai un file di registro in fase di stampa.
Due comandi, due tasti aggiuntivi (apertura delle schede), forse è sufficiente?
Ci sono due miglioramenti molto evidenti qui. Uno è scrivere una funzione di shell in grado di "scoprire" i nomi delle app di rails, quindi non è necessario scrivere uno script di shell per ciascuno, scrivere un sotto-comando progettato per avviare webbrick / il server di rails di propria scelta, e comandi per tail -F'ing di routine alcuni file di log chiave.
Il secondo miglioramento è che è probabile che tu possa scrivere un AppleScript che esegue l'interazione terminale necessaria e l'esecuzione appropriata dei comandi all'interno di ciascuno. Ma francamente, faccio schifo con AppleScript e lavoro in codice bash e codice perl tutto il giorno, quindi sto offrendo consigli pertinenti al mio set di abilità :).