Wo legen Sie Ihre Rack-Middleware-Dateien ab und benötigen?

Ich bin dabei, eine in eine Rails-Anwendung integrierte Logik in Middleware umzugestalten, und ein Ärger, auf den ich gestoßen bin, ist ein scheinbarer Mangel an Konventionen dafür, wo sie abgelegt werden sollen.

erzeit habe ich mich für @ entschiedeapp/middleware aber ich könnte es genauso einfach auf @ verschiebvendor/middleware oder vielleichtvendor/plugins/middleware ...

Das größte Problem besteht darin, dass die einzelnen Dateien oben in @ angefordert werden müsseconfig/environment.rb

require "app/middleware/system_message"
require "app/middleware/rack_backstage"

oder sonst bekomme ich nicht initialisierte konstante Fehler auf demconfig.middleware.use Linien. Das könnte sehr schnell chaotisch werden. Es wäre mir lieber, wenn dies irgendwo in einem Initialisierer verstaut wäre.

Gibt es einen konventionellen Ort, um dieses Zeug abzulegen?

Die spezifische Antwort, die ich mit dieser Prämie suche, ist:Wo kann ich die erforderlichen Zeilen einfügen, damit sie die Datei environment.rb nicht überladen, sondern vor dem Aufruf von config.middleware.use geladen werden? Alles, was ich versucht habe, führt zu nicht initialisierten konstanten Fehlern.

Aktualisiere: Jetzt, da wir Rails 3.0 verwenden, behandle ich eine Rails-App wie jede andere Rack-App. Code-Dateien für Middleware gehen inlib (oder ein Edelstein inGemfile) und werden benötigt und in @ geladconfig.ru.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage