The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Waft::StashAccessor - Make accessor for Waft::stash

SYNOPSIS

    package MyWebApp;

    use base 'Waft';
    use Waft::StashAccessor;

    make_stash_accessor('foo');

    my $obj = __PACKAGE__->new;

    $obj->set_foo('bar'); # same as $obj->stash('MyWebApp')->{foo} = 'bar'

    print $obj->get_foo;  # same as print $obj->stash('MyWebApp')->{foo}

DESCRIPTION

Waftstash へアクセスするためのメソッドを生成する。引数に stash の キーとなる文字列を受け取り、そのキーの先頭に set_、get_ を付加した文字列が メソッドの名前となる。

set_* で stash に格納し、get_ で stash から取得する。

最後の引数にオプションを指定する事で、値に制約を設ける事ができる。

    make_stash_accessor('foo', { minlen => 1 }); # 文字数が 1文字以上である事

    $obj->set_foo('bar'); # ok
    $obj->set_foo('0');   # ok
    $obj->set_foo('');    # not ok
    $obj->set_foo(undef); # not ok

制約に違反した場合は例外を発生する。

EXPORT

  • make_stash_accessor

    Arguments: @keys, \%option?

    stash へのアクセサを生成するための関数。引数で指定された 1つのキー、 もしくは複数のキー毎に、setter と getter を生成する。

    最後の引数がハッシュ変数のリファレンスの場合はオプションとして処理される。 オプション minlen を指定すると、最低長の制約を設ける事ができる。

AUTHOR

Yuji Tamashiro, <yuji@tamashiro.org>

COPYRIGHT AND LICENSE

Copyright (C) 2008 by Yuji Tamashiro

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.