我在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