我在Sinatra::Base
中有一个Sinatra应用程序,我想在服务器启动后运行一些代码,我该如何去做这件事?Sinatra服务器运行一次就执行代码
下面是一个例子:
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
任何想法?
您可能需要更具体以获得一些帮助。 – Beanish 2010-04-07 12:36:25
你是对的 - 我认为这是不言自明的!让我们看看这些修改如何帮助 – 2010-04-11 00:47:27
这不是你问的,但你应该要求'sinatra/base',而不是'sinatra'。从http://www.sinatrarb.com/intro.html#Sinatra::Base%20-%20Middleware,%20Libraries,%20and%20Modular%20Apps:“您的文件应该需要sinatra/base而不是sinatra;否则,所有Sinatra的DSL方法被导入到主命名空间中。“ – mwp 2015-09-30 20:28:22