2011-02-09 4 views
2

Je construis une nouvelle version de Lovers avec Sinatra. Vous pouvez voir le Lovers source code on GitHub.Comment exécuter mon application Sinatra modulaire?

Je suis en mesure d'exécuter avec succès mon application en mode concombre en exécutant cucumber via la CLI à partir du répertoire racine du référentiel. Mais ...

1) comment lancer l'application en mode développement?

C'est un peu difficile parce que c'est une application modulaire, et j'ai déplacé le fichier app.rb à lib/lovers/application.rb.

2) Comment l'exécuter avec shotgun afin qu'il redémarre automatiquement l'application à chaque requête HTTP?

3) Lorsque vous lancez ruby app.rb pour une application Sinatra, qu'est-ce que cela fait réellement?

Si vous répondez partie 3) bien, je pense que je serai en mesure de trouver la réponse à 1 & 2.

Merci!

+0

Votre config.ru est-il configuré pour pointer vers /lib/lovers/application.rb? simplement "shotgun" dans le répertoire de base devrait fonctionner si oui. – minikomi

+0

Pas une réponse complète, mais: Je crée un fichier 'config.ru', puis exécutez' thin -R config.ru -e développement' pour servir via Thin dans l'environnement que je veux. – Phrogz

Répondre

5

1) Exécutez simplement bundle exec shotgun à partir de la racine du projet. Shotgun, contrairement à d'autres serveurs rack comme thin, est spécifiquement conçu ... en fait ... uniquement conçu pour le mode «développement» ... en ce qu'il recharge votre code s'il change.

2) Pourquoi à chaque demande? Shotgun recharge automatiquement au besoin. 3) ruby app.rb 3) ruby app.rb exécute un petit serveur d'application (comme vu ici: http://www.sinatrarb.com/) mais n'est probablement pas ce que vous voulez. Shotgun devrait faire l'affaire.

La chose importante à voir ici est config.ru dans le répertoire racine de loversapp. C'est ce que recherchent les fusils de chasse et autres serveurs rack. Il charge votre lib/lovers/application.rb, définit le bon RACK_ENV et appelle run Lovers::Application.

+0

'bundle exec shotgun' travaillé. Merci! – ma11hew28

+0

A travaillé comme un charme, merci beaucoup – Joseph

Questions connexes