Onde você coloca e requer os arquivos de middleware do Rack?
Estou no processo de refatorar alguma lógica incorporada em um aplicativo Rails para o middleware, e um aborrecimento que encontrei é uma aparente falta de convenção sobre onde colocá-los.
Atualmente, eu decidiapp/middleware
mas eu poderia facilmente movê-lo paravendor/middleware
ou talvezvendor/plugins/middleware
...
O maior problema é ter que exigir os arquivos individuais na parte superior doconfig/environment.rb
require "app/middleware/system_message"
require "app/middleware/rack_backstage"
ou então eu recebo erros constantes não inicializados noconfig.middleware.use
linhas Isso pode ficar confuso muito rapidamente. Eu prefiro que isso esteja escondido em um inicializador em algum lugar.
Existe um lugar convencional para colocar essas coisas?
A resposta específica que estou procurando com esta recompensa é:onde posso colocar as linhas de solicitação para que não sobrecarregem o arquivo environment.rb, mas ainda sejam carregadas antes das chamadas config.middleware.use? Tudo o que tentei leva a erros constantes não inicializados.
Atualizar: Agora que estamos usando o Rails 3.0, trato um aplicativo Rails como qualquer outro aplicativo Rack; arquivos de código para middleware entramlib
(ou uma jóia listada emGemfile
) e são obrigatórios e carregadosconfig.ru
.