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です。