Filterクラスをつくってみる

class SampleFilter

  def initialize(options)
    # オプションのせっていなどなど
  end

  def before(controller)
    
  end

  def after(controller)
    controller.response.body.gsub!(/hoge/, 'fuga')
  end

end

class ActionController::Base #:nodoc:

  def self.sample_before_filter(options = {})
    before_filter SampleFilter.new(options)  # SampleFilter#before
  end

  def self.sample_after_filter(options = {})
    after_filter SampleFilter.new(options)  # SampleFilter#after
  end

  def self.sample_around_filter(options = {})
    around_filter SampleFilter.new(options)  # SampleFilter#before, SampleFilter#after
  end

end
class SampleController < ApplicationController
  sample_after_filter :only => [:index]
end