*-users.jp
これはすごい。自分も何かやれればいいな><
Perl-users.jp
Perl-users.jp - 日本のPerlユーザのためのハブサイト
PHP-users.jp
http://php-users.jp/
*.users.jpだと変なサイトに飛んでしまう罠
http://perl.users.jp => http://perl.users.jp/
ぷらがぶるなぐりもん
ってあるんかな。
Devel::REPLのプラグイン(2)
つづき。
2つめが、Plugin::CommandstなどにあるBEFORE_PLUGINとかAFTER_PLUGIN。
こいつらはどこで呼ばれるんだろうと思ってソース追っかけたら、Devel::REPL::Meta::Pluginにあった。
package Devel::REPL::Meta::Plugin; use Moose; use Data::Dumper; extends 'Moose::Meta::Role'; before 'apply' => sub { my ($self, $other) = @_; if (my $pre = $self->get_method('BEFORE_PLUGIN')) { $pre->body->($other, $self); } }; after 'apply' => sub { my ($self, $other) = @_; if (my $pre = $self->get_method('AFTER_PLUGIN')) { $pre->body->($other, $self); } };
Moose::Meta::Roleのapplyをbefore/afterするみたい。
applyをhookしたいときは、use Devel::REPL::Plugin;してBEFORE_PLUGIN()やAFTER_PLUGIN()を定義しとけば、
MooseX::Object::Pluggable->_load_and_apply_role()で$role->meta->apply($self)するときに実行される。
初期化処理とかに使うのかな。
ん〜難しいなあ。
Mooseのコード読んでるとすぐに迷子になる。。。
Class::MOPから入った方がいいのかなー