http://search.cpan.org/~punytan/AnyEvent-Twitter-0.52/lib/AnyEvent/Twitter.pm を出しました。

0.51 から 0.52 の変更点

new()

AnyEvent::Twitter::Stream と同等の OAuth 引数を使えるようになりました

つまり、access_token と access_token_secret が token と token_secret として使えます。これに伴って、eg/gen_token.pl でも出力形式を選べるようになりました。

これまでは

    my $ua = AnyEvent::Twitter->new(
        consumer_key        => 'consumer_key',
        consumer_secret     => 'consumer_secret',
        access_token        => 'access_token',
        access_token_secret => 'access_token_secret',
    );

のように書いていたものを

    my $ua = AnyEvent::Twitter->new(
        consumer_key    => 'consumer_key',
        consumer_secret => 'consumer_secret',
        token           => 'access_token',
        token_secret    => 'access_token_secret',
    );

のようにかけるようになりました

get(), post()

これまでは request() メソッドのみ対応していましたが、今回の変更で get() と post() を追加しました。

    $cv->begin;
    $ua->request(
        method => 'GET',
        api    => 'account/verify_credentials',
        sub {
            my ($hdr, $res, $reason) = @_;

            say $res->{screen_name};
            $cv->end;
        }
    );

のように書いていたものは、 0.52 からは

    $cv->begin;
    $ua->get('account/verify_credentials', sub {
        my ($hdr, $res, $reason) = @_;

        say $res->{screen_name};
        $cv->end;
    });

のようにかけるようになりました。

get() の引数

get() ではパラメータは省略可能です。

  • $ua->get($api, sub {})
  • $ua->get($api, \%params, sub {})
  • $ua->get($url, sub {})
  • $ua->get($url, \%params, sub {})
post() の引数

post() ではパラメータは省略不可です。パラメータ不要の場合は空の hashref を渡してください。

  • $ua->post($api, \%params, sub {})
  • $ua->post($url, \%params, sub {})

つぶやく場合は

    $cv->begin;
    $ua->post('statuses/update', {status => 'いろはにほへと ちりぬるを'}, sub {
        my ($hdr, $res, $reason) = @_;

        say $res->{user}{screen_name};
        $cv->end;
    });

のように、より短くかけるようになりました。

その他

メソッド追加に伴ってテストを増やした(xt/05_get.t と xt/06_post.t あたり)