Experimental plugin: Rack-based after_filter-ish behavior

Hi --

I've been working on a per-action Rack-based after_filter-like facility, and I thought others might like to see the experiment (and I do consider it experimental). It's a plugin called after_middles, at:


It works like this (assuming Rails 2.3/edge):

   # Define something like this somewhere:    class MyRackApp      def call(env)        # you already have @app here for the        # middleware chain        do_stuff...        @app.call(env)      end    end

   # Then in your controller:    class ThingsController < ApplicationController      after_middle MyRackApp, :only => :show      def show        ...      end    end

It maintains its own middleware stack, and after_middle itself is just a wrapper around before_filter that adds to that stack.

I'm not sure yet how useful it will be (either for adding functionality or for speed), except it's already served one of its purposes, namely to help me learn more about the recent controller code and the implementation of the middleware integration. Anyway, if interested, have a look, and let me know if you have any comments.