如何更改Rails代码以使其在Sinatra中运行?

时间:2012-10-28 07:18:33

标签: ruby-on-rails ruby sinatra ebay

与Sinatra兼容的名为omniauth-ebay的Rails gem使用以下代码进行设置:

Rails.application.config.middleware.use OmniAuth::Builder do
       provider :ebay, "runame", "devid", "appid", "certid", "siteid", "apiurl"
    end

我知道omniauthomniauth-ebay基于它)gem绝对与Sinatra兼容。请注意,这不是eBay或gem特定的问题,当然应该有一种在Sinatra中设置中间件的通用方法。

那么,如何更改上面的代码以使其与Sinatra一起使用?

1 个答案:

答案 0 :(得分:2)

您只需要了解Rails隐藏的内容。机架中间件实际上直接安装在Rack内部。

在你的config.ru文件中:

use OmniAuth::Builder do
  provider :ebay, "runame", "devid", "appid", "certid", "siteid", "apiurl"
end

配置是由Rack加载的,所以任何特定于Rack的东西都应该放在那里,除非你有某种系统把它放在别的地方。我怀疑Sinatra可能允许你从你的Sinatra应用程序中调用#use,但仍然,config.ru将适用于所有情况。