Puisqu'il est si trivial d'ouvrir un nouvel onglet, je vous suggère de rendre l'exécution de vos commandes aussi triviale que possible, et de le faire à l'ancienne.
Vous avez cité deux actions spécifiques, alors travaillons avec celles-ci. Notez que je vais faire beaucoup d'hypothèses basées sur ce que je connais de Rails, mais pas nécessairement spécifiques à votre projet.
Pour faire court, alias une commande pour faire ce que vous voulez qu'elle fasse, ou créez un script shell trivial pour faire ce que vous voulez.
Créer un shell script nommé myapp.start
avec le contenu :
#!/bin/bash
cd Development/rails/myapp
# Do any common environment initializations here, such as RAILS_ENV=development
script/server
Vous devrez probablement aussi créer un fichier nommé .bash_profile dans votre répertoire personnel, ou modifier un fichier déjà existant, et ajouter une ligne comme ;
export PATH="$HOME/bin:${PATH}"
Ensuite, créez un répertoire bin dans votre dossier personnel, et déplacez-y le script myapp.start script. Assurez-vous également qu'il possède le bit d'exécution du propriétaire au minimum ( chmod 700 myapp.start
).
Ensuite, ouvrez Terminal.app, tapez myapp.start
et vous avez des rails qui fonctionnent. Alternativement, tapez mya puis appuyez sur Tab et laissez l'autocomplétion remplir le reste, appuyez sur return . Boom, le serveur fonctionne.
Par extension, vous avez peut-être déjà compris comment faire une queue de fichier journal, mais je vais quand même continuer. Créez un autre fichier dans ~/bin nommé myapp.taillog, avec le contenu suivant :
#!/bin/bash
tail -F ~/Development/rails/myapp/logs/development.log
Là encore, placez-le dans le dossier de la corbeille, chmod 700 ~/bin/myapp.taillog
puis après avoir démarré le serveur rails, tapez rapidement sur t , type myapp.taillog
et vous avez un fichier journal qui s'imprime.
Deux commandes, deux frappes supplémentaires (ouverture des onglets), c'est peut-être suffisant ?
Il y a deux améliorations très évidentes ici. La première est d'écrire une fonction shell capable de "découvrir" les noms des applications rails, de sorte que vous n'ayez pas à écrire un shell script pour chacune, l'écriture d'une sous-commande conçue pour démarrer webbrick/votre serveur rails de choix, et des commandes pour tail -F'ing quelques fichiers journaux clés de routine.
La deuxième amélioration est qu'il est probable que vous puissiez écrire un AppleScript qui fasse l'interaction nécessaire avec les terminaux, et l'exécution des commandes appropriées dans chacun d'eux. Mais franchement, je suis nul en AppleScript et je travaille avec du code bash et du code perl toute la journée, donc je vous offre des conseils en rapport avec mes compétences :).