CheckPad API 0.02

まず、パッケージ名を変えました。新しいパッケージ名はWWW::CheckPadです。まだ、ドキュメントやサンプルのようなものはありませんが、公開しちゃいます。

http://ya-lab.main.jp/perl/module/WWW-CheckPad-0.02.tar.gz

Pure Perlなので、インストール等必要ありません。lib/以下をパスの通った適当な箇所に保存してください。インストールしたい場合は:

perl Makefile.PL
make
make install

ってな感じでお願いします。ちなみにmake testはそのままでは通りません。というのも、check*padにログインするのに、メールアドレスとパスワードが必要なので、テスト出来ないのです。時間がある方は、テストファイルt/WWW-CheckPad.tを開いて、下記のようにな行を変更してください。

WWW::CheckPad->connect(
    email => 'your email address here',
    password => 'your passowrd here',
);

ちなみに、テストするのはログインが可能かどうかだけです。その他のすべての動作はテストされません。実際はテストも書いたのですが、サーバに直接リクエストを投げるテストしかないので、配布パッケージには含めませんでした。ご了承ください。体力が余ってる時にモックオブジェクトを作って、サーバにアクセスせずに出来る限りのテストをするようにするつもりです。

さぁ、一応、最低限の使い方を紹介しておきます。

# サーバに接続します。かならず、他の操作を呼ぶ前に接続してください。
WWW::CheckPad->connect(
    email => 'あなたのメールアドレス',
    password => 'あなたのパスワード'
);

# すべてのチェックリストを取得して、各リストに含まれるチェック項目を出力します。
my @checklists = WWW::CheckPad::CheckList->retrieve_all();
foreach my $checklist (@checklists) {
    printf "[%s] %s?n", $checklist->id, $checklist->title;
    foreach my $checkitem = ($checklist->checkitems) {
        printf "?t[%s] %s?n", $checkitem->id, $checkitem->title;
    }
}

# 新しいチェックリストを作成します。
my $new_checklist = WWW:CheckPad::CheckList->insert({title => '新しいチェックリスト'});

# 新しいチェックリストの名称を変更します。
$new_checklist->title('名称変更済みリスト');
$new_checklist->update();

# 新しいチェックリストを削除するときは
# $new_checklist->delete();
# ってな感じで。

# 新しく作ったチェックリストにチェック項目を追加します。
my $new_checkitem = $new_checklist->add_checkitem("あたらしいTodo");

# 新しく追加したチェック項目の名称を変更します。
$checkitem->title("タイトル変更済みTodo");
$checkitem->update();

# 新しく追加したチェック項目を”終了”にします。未終了にするときはunfinish()を呼びます。
$checkitem->finish();

# 新しく追加したチェック項目を削除します。
$checkitem->delete();

ん!? ここに書くなら、READMEにでも書けば良かったかな。

一応、一つ、サンプルというか、このCheckPad APIを使ったコードの例を作った時点でドキュメント等作るつもりです。と、いうのも、実際に使ってみたら仕様を変えたくなるかもしれないので…。