LazyWayのオレオレルールの作り方

http://vkgtaro.jp/2009/09/11/yapcasia2009
オレオレルールについての補足。答えはオッパイですね。テストにあります。

ルール

http://cpansearch.perl.org/src/TARO/FormValidator-LazyWay-0.07/t/lib/MyRule/Oppai.pm

おっぱいじゃないと、エラーです。

package MyRule::Oppai;

use strict;
use warnings;
use utf8;

sub name {
    return shift eq 'おっぱい' ? 1 : 0 ;
}

1;

メッセージ

http://cpansearch.perl.org/src/TARO/FormValidator-LazyWay-0.07/t/lib/MyRule/Oppai/JA.pm

エラーメッセージ用に、エラー名を設定する必要があります。

package MyRule::Oppai::JA;

use strict;

sub name { 'おっぱい' }

1;

利用方法

http://cpansearch.perl.org/src/TARO/FormValidator-LazyWay-0.07/t/rule.t

設定

+を頭につけると、オレオレモジュールを指定できます。

rules :
    - +MyRule::Oppai
defaults :
    oppai : dekkai
setting :
  strict :
    oppai :
        rule :
            - +MyRule::Oppai#name

まとめ

オッパイってテストを作ってたのを見てつい書いてみた。

http://svn.lazy-people.org/member/oreore/tomyhero/fvl-inquiry/
YOKOHAMA.PM の時のスライドとサンプルもあった。古いので実装が違うので動かない可能性が高いけど。