Автоматически добавлять промежуточное программное обеспечение стойки с драгоценным камнем - PullRequest
6 голосов
/ 20 апреля 2011

У меня есть гем, который предоставляет некоторое промежуточное программное обеспечение для стойки, единственный способ заставить его работать, это поместить его в мое приложение. Rb

config.middleware.use "TBBC::Editor::Middleware"

Как я могу сделать так, чтобы это промежуточное ПО автоматически использовалось, когда мой гем использовался в Gemfile приложений?

1 Ответ

12 голосов
/ 20 апреля 2011

Если вы намереваетесь использовать свой драгоценный камень с Rails 3, вы можете предоставить Railtie. Затем вы можете автоматически загрузить его в случае использования Rails.

Предполагая, что имя вашего драгоценного камня 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-приложений это будет то, что должен делать пользователь.

...