Essayer de la séance d'entraînement comment faire fonctionner une application Ruby (Sinatra) sur le serveur Web Ebb
Question
Je dois écrire une application Ruby super rapide pour traiter les demandes Web sur Sinatra - et que vous souhaitez exécuter sur le Ebb webserver. Mais je ne peux pas travailler sur la façon de le faire. Quelqu'un pourrait-il s'il vous plaît me aider?
La solution
Vous devez regarder Rack: http://rack.rubyforge.org/ Il est assez facile vraiment, vous avez un fichier .ru qui indique rack comment démarrer votre application, et dans votre application que vous avez une méthode « appel » qui est appelé à chaque demande, et renvoie à rack la réponse.
Dans my_app.ru
require 'my_app'
require 'ebb'
# Rack config
use Rack::Static, urls: ['/js', '/public', '/index.html']
use Rack::ShowExceptions
# Run application
run MyApp.new
Dans my_app.rb
class MyApp
def call env
request = Rack::Request.new env
response = Rack::Response.new
params = request.params
response.body = "Hello World"
response['Content-Length'] = response.body.size.to_s
response.finish
end
end
Ensuite, vous spécifiez le fichier .ru dans votre config sinatra, comme:
rackup: my_app.ru
Autres conseils
sinatra a une option -s pour spécifier un gestionnaire. essayez d'exécuter votre application avec flux -s.