Tengo una aplicación Sinatra incluida en Sinatra::Base
y me gustaría ejecutar algún código una vez que el servidor ha comenzado, ¿cómo debo hacer esto?Ejecutar el código una vez que se ejecuta el servidor Sinatra
He aquí un ejemplo:
require 'sinatra'
require 'launchy'
class MyServer < Sinatra::Base
get '/' do
"My server"
end
# This is the bit I'm not sure how to do
after_server_running do
# Launches a browser with this webapp in it upon server start
Launchy.open("http://#{settings.host}:#{settings.port}/")
end
end
¿Alguna idea?
Es posible que necesite ser más específico para obtener ayuda. – Beanish
Tienes razón, pensé que se explicaba por sí mismo. veamos cómo estas modificaciones ayudan a –
Esto no es lo que pediste, pero deberías estar requiriendo 'sinatra/base', no' sinatra'. De http://www.sinatrarb.com/intro.html#Sinatra::Base%20-%20Middleware,%20Libraries,%20and%20Modular%20Apps: "Su archivo debe requerir sinatra/base en lugar de sinatra; de lo contrario, todos de los métodos DSL de Sinatra se importan en el espacio de nombres principal ". – mwp