<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -24,4 +24,9 @@ WebService::Hatena::Diary documentation is available as in POD. So you can do:
 
 to read the documentation online with your favorite pager.
 
+DEVELOPMENT
+
+If you want to see latest version of this module, please see
+https://github.com/hakobe/webservice-hatena-diary/tree
+
 Yohei Fushii</diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -209,25 +209,251 @@ WebService::Hatena::Diary - A Perl Interface for Hatena::Diary AtomPub API
 WebService::Hatena::Diary is a simple wrapper of Hatena::Diary AtomPub API. 
 This provides CRUD interfaces for Hatena::Diary and it's draft entries. 
 
+=head1 METHOD
+
+=head2 new ( I&lt;\%args&gt; )
+
+=over 4
+
+  my $diary = WebService::Hatena::Diary-&gt;new({
+      username  =&gt; $username,
+      dusername =&gt; $dusername,
+      password  =&gt; $password,
+      mode      =&gt; $mode,
+  });
+
+Create a WebService::Hatena::Diary object.
+
+=over 4
+
+=item * 
+
+B&lt;username&gt;
+
+Your Hatena id.
+
+=item *
+
+B&lt;dusername&gt; (Optional)
+
+Diary name that you want to manipulate.
+Default is username.
+
+=item *
+
+B&lt;password&gt;
+
+Password for your Hatena id.
+
+=item *
+
+B&lt;mode&gt; (Optional)
+
+API mode ( C&lt;blog&gt; | C&lt;draft&gt; ).
+Default is C&lt;blog&gt;.
+
+=back
+
+=back
+
+
+=head2 ua
+
+=over 4
+
+  $diary-&gt;ua;
+
+  Returns a UserAgent of this API.
+
+=back
+
+
+=head2 errstr
+
+=over 4
+
+  $diary-&gt;errstr;
+
+Returns a error messages of the last error.
+
+=back
+
+=head2 list
+
+=over 4
+
+  my @entries = $diary-&gt;list;
+
+Returns a LIST of entries of the specified (blog|draft). 
+Each entry has values blow as a HASH object:
+
+=over 4
+
+=item *
+
+B&lt;edit_uri&gt;
+
+Edit URI is a URI to identify a entry.
+
+=item *
+
+B&lt;title&gt;
+
+Title of a entry.
+
+=item *
+
+B&lt;content&gt;
+
+Content of a entry as a html format.
+
+=item *
+
+B&lt;date&gt;
+
+YYYY-MM-DD style date of a entry.
+
+=back
+
+=back
+
+
+=head2 create ( I&lt;\%args&gt; )
+
+=over 4
+
+  my $edit_uri = $diary-&gt;create({
+      title   =&gt; $title,
+      content =&gt; $content,
+      date    =&gt; $date,
+  });
+
+Create a new entry of the specified (blog|draft).
+Returns Edit URI of a created entry if succeed.
+
+You have to pass C&lt;date&gt; on a YYYY-MM-DD format.
+
+=back
+
+
+=head2 retrieve ( I&lt;$edit_uri&gt; )
+
+=over 4
+
+  my $entry = $diary-&gt;retrieve($edit_uri);
+
+Returns a entry specified by an Edit URI as a HASH object like below:
+
+=over 4
+
+=item *
+
+B&lt;title&gt;
+
+Title of a entry.
+
+=item *
+
+B&lt;content&gt;
+
+Content of a entry as a html format.
+
+=item *
+
+B&lt;hatena_syntax&gt;
+
+Content of a entry as a hatena syntax format.
+
+=item *
+
+B&lt;date&gt;
+
+YYYY-MM-DD style date of a entry.
+
+=back
+
+=back
+
+
+=head2 update ( I&lt;$edit_uri&gt;, I&lt;\%args&gt; )
+
+=over 4
+
+  $diary-&gt;update($edit_uri, {
+      title   =&gt; $title,
+      content =&gt; $content,
+  });
+
+Update a entry specified by an Edit URI.
+Returns 1 if succeed.
+
+=back
+
+
+=head2 delete ( I&lt;$edit_uri&gt; )
+
+=over 4
+
+  $diary-&gt;delete($edit_uri);
+
+Delete a entry specified by an Edit URI.
+Returns 1 if succeed.
+
+=back
+
+
+=head2 publish ( I&lt;$edit_uri&gt; )
+
+=over 4
+
+  $diary-&gt;publish($edit_uri);
+
+Publish a I&lt;draft&gt; entry specified by an Edit URI.
+Returns 1 if succeed.
+
+If you publish a draft entry, the entry will be deleted from draft, 
+and a new I&lt;blog&gt; entry will be created.
+
+=back
+
+
+=head1 DEVELOPMENT
+
+If you want to see latest version of this module, please see
+L&lt;https://github.com/hakobe/webservice-hatena-diary/tree&gt;
+
+
 =head1 AUTHOR
 
 Yohei Fushii E&lt;lt&gt;hakobe@gmail.comE&lt;gt&gt;
 
+
 =head1 LICENSE
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
 
+
 =head1 SEE ALSO
 
 =over 4
 
-=item L&lt;http://d.hatena.ne.jp&gt;
+=item * 
+
+L&lt;http://d.hatena.ne.jp&gt;
+
+=item * 
+
+L&lt;http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%C0%A5%A4%A5%A2%A5%EA%A1%BCAtomPub&gt;
+
+=item * 
+
+L&lt;WWW::HatenaDiary&gt;
 
-=item L&lt;http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%C0%A5%A4%A5%A2%A5%EA%A1%BCAtomPub&gt;
+=item * 
 
-=item L&lt;WWW::HatenaDiary&gt;
+L&lt;XML::Atom&gt;
 
-=item L&lt;XML::Atom&gt;
+=back
 
 =cut</diff>
      <filename>lib/WebService/Hatena/Diary.pm</filename>
    </modified>
    <modified>
      <diff>@@ -18,7 +18,7 @@ my $dusername = $ENV{WEBSERVICE_HATENA_DIARY_TEST_DUSERNAME} || $username;
 my $password  = $ENV{WEBSERVICE_HATENA_DIARY_TEST_PASSWORD};
 
 if ($username &amp;&amp; $password) {
-    plan tests =&gt; 16;
+    plan tests =&gt; 17;
 }
 else {
     plan skip_all =&gt; &quot;Set ENV:WEBSERVICE_HATENA_DIARY_TEST_USERNAME/PASSWORD&quot;;
@@ -94,13 +94,24 @@ $edit_uri = $diary-&gt;create({
 });
 
 # publish
+sleep 3; # wait for create
 $diary-&gt;publish($edit_uri);
+
 $diary-&gt;{mode} = 'blog'; # blog&#12514;&#12540;&#12489;
 
+sleep 3; # wait for publish
 $entry = ($diary-&gt;list)[0];
 is($entry-&gt;{title},     $input_data-&gt;{title});
 like($entry-&gt;{content}, qr/$input_data-&gt;{content}/);
 is($entry-&gt;{date},      $now-&gt;ymd);
 
+## delete
+$edit_uri = $entry-&gt;{edit_uri};
+$diary-&gt;delete($edit_uri);
+$entry = $diary-&gt;retrieve($edit_uri);
+ok(!$entry);
+$diary-&gt;client-&gt;{_errstr} = ''; # error&#12434;&#12463;&#12522;&#12450;
+
+
 $diary-&gt;{mode} = 'draft'; # draft&#12514;&#12540;&#12489;
 </diff>
      <filename>t/02_crud_draft.t</filename>
    </modified>
    <modified>
      <diff>@@ -15,3 +15,16 @@ all_pod_files_spelling_ok('lib');
 __DATA__
 Yohei
 Fushii
+API
+AtomPub
+DD
+Hatena
+URI
+YYYY
+blog
+dusername
+errstr
+hatena
+html
+ua
+username</diff>
      <filename>t/97_podspell.t</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>286e0e5289d8a070b4ba53c96ab5e904a6673286</id>
    </parent>
  </parents>
  <author>
    <name>hakobe932</name>
    <email>hakobe@gmail.com</email>
  </author>
  <url>http://github.com/hakobe/webservice-hatena-diary/commit/39e8fcff70673b9c92451462ad236acf4c88a713</url>
  <id>39e8fcff70673b9c92451462ad236acf4c88a713</id>
  <committed-date>2008-09-23T07:57:51-07:00</committed-date>
  <authored-date>2008-09-23T07:57:51-07:00</authored-date>
  <message>- POD &#12434;&#26360;&#12356;&#12383;
- &#12486;&#12473;&#12488;&#12364;&#12354;&#12420;&#12375;&#12363;&#12387;&#12383;&#12392;&#12371;&#12429;&#12434;&#20462;&#27491;</message>
  <tree>43a96e98e90faf9879fcfdc5a8f01c7f1956c859</tree>
  <committer>
    <name>hakobe932</name>
    <email>hakobe@gmail.com</email>
  </committer>
</commit>
