Como es tan trivial abrir una nueva pestaña, sugeriría hacer que la ejecución de sus comandos sea lo más trivial posible, y hacerlo de la manera tradicional.
Invocaste dos acciones específicas, así que trabajemos con ellas. Tenga en cuenta que voy a hacer muchas suposiciones basadas en lo que sé de Rails, pero no necesariamente específico de su proyecto.
Para abreviar una larga historia, alias un comando para hacer lo que quieras también, o crea un script de shell trivial para hacer lo que quieras.
Cree un script de shell llamado myapp.start
, con el contenido:
#!/bin/bash
cd Development/rails/myapp
# Do any common environment initializations here, such as RAILS_ENV=development
script/server
Probablemente también tendrá que crear un archivo llamado .bash_profile en su directorio de inicio, o modificar uno ya existente, y agregar una línea como;
export PATH="$HOME/bin:${PATH}"
Luego, cree un directorio bin en su carpeta de inicio y mueva el script myapp.start a él. Asegúrese también de que el propietario ejecute el bit como mínimo ( chmod 700 myapp.start
).
Luego, abra Terminal.app, escriba myapp.start
, y tendrá rieles en ejecución. Alternativamente, escriba y myaluego presione Tab, y deje que el autocompletado llene el resto, presione return. Boom, servidor en ejecución.
Por extensión, es posible que ya comprenda cómo hacer una cola de archivo de registro, pero continuaré de todos modos. Cree otro archivo en ~ / bin llamado myapp.taillog, con el contenido:
#!/bin/bash
tail -F ~/Development/rails/myapp/logs/development.log
Una vez más, colóquelo en la carpeta bin chmod 700 ~/bin/myapp.taillog
, luego, después de comenzar, rails server, presione rápidamente ⌘t, escriba myapp.taillog
y tendrá un archivo de registro que se imprimirá.
Dos comandos, dos teclas adicionales (abrir las pestañas), ¿tal vez eso es suficiente?
Hay dos mejoras muy obvias aquí. Una es escribir una función de shell capaz de "descubrir" los nombres de las aplicaciones de rails, para que no tenga que escribir un script de shell para cada uno, escribir un subcomando diseñado para iniciar webbrick / su servidor de rails de elección, y comandos para tail -F'ing algunos archivos de registro de claves de forma rutinaria.
La segunda mejora es que es probable que pueda escribir un AppleScript que realice la interacción de terminal necesaria y la ejecución de comandos adecuada dentro de cada uno. Pero, francamente, soy un asco en AppleScript y trabajo en código bash y código perl todo el día, por lo que estoy ofreciendo consejos relevantes para mi conjunto de habilidades :).