おおいしつかさ


旅行とバイクとドライブと料理と宇宙が好き。
Ubie Discoveryのプログラマ。
Share:  このエントリーをはてなブックマークに追加

Rails3.0でmiddleware stackに独自クラスを積む方法

Rails3.0では、独自のクラスをRackに積みたいときはconfig/application.rbで以下のように書けばいいようです。

module AppName  
  class Application < Rails::Application  
    .....()  
    config.middleware.use "::NewRackClass"  
  end  
end  

これでStackの中にNewRackClassが積まれます。

[tsukasa@ubuntu] $ rake middleware 
(in /home/tsukasa/devel/app_name)  
use ActionDispatch::Static  
use Rack::Lock  
use Rack::Runtime  
use Rails::Rack::Logger  
use ActionDispatch::ShowExceptions  
use ActionDispatch::Callbacks  
use ActionDispatch::Cookies  
use ActionDispatch::Session::CookieStore  
use ActionDispatch::Flash  
use ActionDispatch::ParamsParser  
use Rack::MethodOverride  
use ActionDispatch::Head  
use NewRackClass  
use ActiveRecord::ConnectionAdapters::ConnectionManagement  
use ActiveRecord::QueryCache  
run AppName::Application.routes  

途中に挿入したいときはinsertメソッドなどを使用すればOKです。