IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

attribute の解析は Catalyst::Base ではなく Catalyst::DispatchType でやるべきでは?

Catalyst::Base には以下のような関数がある。

_parse_Global_attr
_parse_Absolute_attr
_parse_Local_attr
_parse_Relative_attr
_parse_Path_attr
_parse_Regex_attr
_parse_Regexp_attr
_parse_LocalRegex_attr
_parse_LocalRegexp_attr
_parse_ActionClass_attr

関数の attribute を解析してくれるのだが。
ここに Path や Regex などの名前が出てくるということは、
Dispatcher や DispatchType を拡張したい場合これに手を出さなきゃいけない可能性があるんです。
Dispatcher の拡張なら、 Plugin で __PACKAGE__->dispacher_class('Hoge::Dispatcher'); でできるのに。
Catalyst::Base の拡張となると、コントローラ作ってすべてのコントローラに継承させたりしないとダメなんです。
めんどうなんです。
Helper の拡張でもいいんですけど、今まで作ったコントローラが・・・