Catalyst attributes
Cagtalystのコードみてて、attributesが気になってしまった。
attributes->import( __PACKAGE__, \&namespace, 'lvalue' );
いいろいろ調べてみたらCatalyst::AttrContainerに行き着けた。
14 sub MODIFY_CODE_ATTRIBUTES { 15 my ( $class, $code, @attrs ) = @_; 16 $class->_attr_cache( { %{ $class->_attr_cache }, $code => [@attrs] } ); 17 $class->_action_cache( 18 [ @{ $class->_action_cache }, [ $code, [@attrs] ] ] ); 19 return (); 20 }
微妙にすっきりした。
こちらのページで書かれていること非常に参考になりました。
あざっす。
http://hatena.g.hatena.ne.jp/hatenatech/20051108/1131539607
http://search.cpan.org/~nwclark/perl-5.8.8/lib/attributes.pm
http://blog.yappo.jp/yappo/archives/000347.html