Controllerでincludeされるモジュールでbefore_filterを実装する方法

railsのコントローラーで共通の処理を書こうとするとmodule化した所、
before_filterを定義しようとした時、AplicationControllerとか継承してないので
エラーが出たので実装方法を確認。


という訳でやり方を晒す。
結論から言おうと、include時に呼び出されるincludedモジュール内にて、
class_evalで対象のコントローラ上で実行させれば良い。

module NantokaModule
  def self.included(base)
    base.class_eval{
      before_filter :filter_name
    }
  end
end

これでincludeしたControllerで:filter_nameがfilterされる事になった。