HTTP::MobileAgent::Plugin::UserIDの方がいいのかも

あんまりHTTP::MobileAgentが肥大化していくのがどうなの?っていうのとユーザID取得するモジュールがないっぽかったので切り離して作ってみたんだけども、やっぱりHTTP::MobileAgentオブジェクトから$agent->user_idとか呼べた方が良いのかもしれない。

個人的には分かれてるほうが保守しやすいと思うのでHTTP::MobileUserIDはこれでおきつつ別途Pluginを作ってみたり。

package HTTP::MobileAgent::Plugin::UserID;
use strict;
use warnings;
use HTTP::MobileUserID;

our $VERSION = '0.01';

no strict 'refs';
for my $accessor (qw/user_id is_supported_user_id/) {
    *{"HTTP::MobileAgent::$accessor"} = sub {
        my ($self) = @_;
        $self->{mobile_userid} ||= do {
            my $userid = HTTP::MobileUserID->new($self);
            +{ user_id => $userid->id , is_supported_user_id => $userid->supported };
        };
        return $self->{mobile_userid}->{$accessor};
    };
}

1;

さてさて。ハラ減った。