我不想修补补丁Padrino。
我仍然希望能够从命令行使用命令padrino start -d。
我希望在padrino中启动并运行SSL。在Sinatra,我只是这样做:
Rack::Handler::WEBrick.run MyServer, MyServerOptionsWithAppropriateSSLStuffEtc
我发现Padrino核心内部的文件处理设置这些选项,但我真的不想修补应用程序。
理想情况下,我希望有一些方法可以在我的Padrino :: Application子类中设置选项。
到目前为止,我还没有找到任何关于如何执行此操作的文档,或者甚至是否可能。
答案 0 :(得分:1)
mmm,你应该可以这样做。
在项目文件夹中,您应该看到config.ru
尝试编辑它,删除最后一行:
Rack::Handler::WEBrick.run Padrino.application, MyServerOptionsWithAppropriateSSLStuff
然后从命令行:
$ rackup
答案 1 :(得分:0)
我知道这已经过时了,但如果有人试图干净利落,我就会使用:
class MyApplication < ::Sinatra::Base
# ...
def self.server_settings
{ key: value, ... }
end
# ...
end
您还可以在运行时之前注入设置:
MyApplication.class_exec(server_settings) do |server_params|
def self.server_settings
server_params
end
end
我经常使用第二个示例将自定义记录器注入我的应用程序以获取规范。
例如:
module CustomLogger
def logger
settings.try(:server_settings)[:Logger] || request.logger
end
end
MyApplication.class_exec(CustomLogger) do |logger_module|
helpers logger_module
def self.server_settings
# global specified in guard/spec helper
{ Logger: $LOGGER }
end
end
class MyApplication < ::Sinatra::Base
enable :logging
get '/' do
logger.info "FOO"
end
end
MyApplication.run!
有关server_settings
中Application::self.run!
用法的详情,请参阅this source link。