適切なスコープに対して適切な機能を追加するためのプラグインの形

Controllerレベルで共通化したいものもあるはずで、そうしたときにもMooseのRoleは役に立つかもしれない。この場合は、method modifierではなくて、Rubyのmodule likeにMixin用途で使われるようになる。

従来Controllerレベルで共有されていたものも、Controllerが示す役割で共有できるようになっていくかもしれない。Restableとかね。Controllerのミニマムな一部分だけを共有できるようになるかもしれない。より適切なスコープに対して、適切な機能拡張が行える可能性はあるかもしれない。

Roleベースの実装を共有するプラグインであれば、もっとフレームワークとして共有化できるところがあるんじゃないかと思う。共有するプラグインの形には、グローバルじゃなくて、Controllerに組み込むRoleって形もありそうなわけで、現状のCatalystにはないものだと思う。

プラグインといっても、WAFのどこに対するプラグインなのかで、求められる役割は違っていて、プラグインに求められる機能も異なる。けれど、プラグインという形で提供できることには意味があるような気がしていて、それは今とはもう少し違う形があるんじゃないかと思う。まとまってはいないけれど、時間がとれたらもう少し考える事に。