ruby – 使用gem自动添加机架中间件

前端之家收集整理的这篇文章主要介绍了ruby – 使用gem自动添加机架中间件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个提供一些机架中间件的gem,我可以让它工作的唯一方法是将它放在我的application.rb中
config.middleware.use "TBBC::Editor::Middleware"

如何在应用程序Gemfile中使用我的gem时自动使用此中间件?

解决方法

如果您打算将宝石与Rails 3一起使用,您可以提供一个Railtie.然后,您可以在使用Rails的情况下自动加载它.

假设您的gem的名称是tbbc,请将其放在lib / tbbc / railtie.rb中:

module TBBC
  class Railtie < Rails::Railtie
    initializer "tbbc.insert_middleware" do |app|
      app.config.middleware.use "TBBC::Editor::Middleware"
    end
  end
end

在lib / tbbc.rb中:

require "tbbc/railtie" if defined? Rails

您无法自动将中间件添加到通用Rack应用程序.对于非Rails应用程序,这将是用户必须要做的事情.

猜你在找的Ruby相关文章