読者です 読者をやめる 読者になる 読者になる

ゆーすけべー日記

はてなBlogってどーなの!?

WebService::Simple でキャッシュできるようにしたよ

Perl

dannさんを囲む会で何故か本人が店の予約をしていることで有名なdannさんから「WebService::Simpleで(取得したコンテンツを)キャッシュしたいよ!」と言われて、俺もその機能欲しかったので追加しました。 それに伴いnewメソッドのパラメータの形式が変ったのでご注意を。 Cache interface 系だったらどれでも渡せます(といってもCache::Fileしか使ったことないっす><)。 例はこんな具合です。

use strict;
use warnings;
use WebService::Simple;
use Cache::File;

my $api_key = "your_api_key";
my $cache   = Cache::File->new(
    cache_root      => '/tmp/mycache',
    default_expires => '30 min',
);

my $flickr = WebService::Simple->new(
    base_url => "http://api.flickr.com/services/rest/",
    cache    => $cache,
    param    => { api_key => $api_key, }
);

my $response =
  $flickr->get( { method => "flickr.test.echo", name => "value" } );
my $ref = $response->parse_xml;
print $ref->{name} . "\n";

昨日のバージョンとの互換性を持たせようかと思ったけど、コードが汚くなるのでやめておいた。 こういう時に柔軟に対応できるように最初からパラメータをどうもらうか、 先を見越して考えないといけないと思いました。

オブジェクト指向Perlマスターコース―オブジェクト指向の概念とPerlによる実装方法
posted with yusukebe.com::AmazonSearch on 2008.4.1
  • ダミアン コンウェイ
  • 単行本 / ピアソンエデュケーション
  • Amazon 売り上げランキング: 150750
  • Amazon おすすめ度の平均: 4.5
    • 4 オブジェクト化するには良い本でした
    • 5 Perl5 流オブジェクト指向プログラミングのバイブル!
    • 5 真のPerl使いへ
Amazon.co.jpで詳細を見る