Hatena::Groupcside

Cside::StudyMemo このページをアンテナに追加 RSSフィード

メインブログに書くまでもない自分用メモを垂れ流す。日々是勉強也。

カテゴリー
 | 

2013-03-08

[]Mo[ou]seでBridgeする

handlesを使うと手軽にできる

package Foo;
use Mouse;

has bar => (
   is => 'rw',
   isa => 'Foo::Bar',
   handles => [qw(bar_method)],
);
# 以下と同じ
# sub bar_method { shift->bar->bar_method(@_) }

has baz => (
   is => 'rw',
   isa => 'Foo::Baz',
   handles => +{ baz_method => 'baz_real_method' },
);
# 以下と同じ
# sub baz_method { shift->bar->baz_real_method(@_) }
 |