From e9f4e69ad0e27a24b429d5a9a0d6f51e0e2fdab2 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 12 Apr 2014 01:39:44 -0400 Subject: docs --- bin/pinboard_export | 2 ++ lib/WWW/Pinboard.pm | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) diff --git a/bin/pinboard_export b/bin/pinboard_export index 5876809..990915f 100644 --- a/bin/pinboard_export +++ b/bin/pinboard_export @@ -1,6 +1,8 @@ #!perl use strict; use warnings; +# PODNAME: pinboard_export +# ABSTRACT: data exporter for pinboard use DBI; use Getopt::Long qw(:config pass_through); diff --git a/lib/WWW/Pinboard.pm b/lib/WWW/Pinboard.pm index edcbb9c..585924d 100644 --- a/lib/WWW/Pinboard.pm +++ b/lib/WWW/Pinboard.pm @@ -1,16 +1,54 @@ package WWW::Pinboard; use Moose; +# ABSTRACT: https://pinboard.in/ API client use HTTP::Tiny; use JSON::PP; use URI; +=head1 SYNOPSIS + + my $latest_post_sync_time = ...; + my $api = WWW::Pinboard->new(token => $token); + my $last_updated = $api->update->{update_time}; + if ($last_updated ge $latest_post_sync_time) { + my @posts = @{ $api->all(fromdt => $latest_post_sync_time) }; + for my $post (@posts) { + ...; + } + } + +=head1 DESCRIPTION + +This module is a basic client for the L API. It currently +provides methods for each API method in the C namespace (patches +welcome to add support for more methods). Each method takes a hash of +arguments, which correspond to the parameters documented in the API +documentation at L. They can also take an additional +parameter C, which will be passed to the C parameter +of the call to C on the L object. + +=cut + +=attr token + +Pinboard API token. You can access your API token at +L. + +=cut + has token => ( is => 'ro', isa => 'Str', required => 1, ); +=attr endpoint + +URL of the API endpoint. Defaults to C. + +=cut + has _endpoint => ( is => 'ro', isa => 'Str', @@ -44,6 +82,24 @@ has json => ( default => sub { JSON::PP->new }, ); +=method update + +=method add + +=method delete + +=method get + +=method recent + +=method dates + +=method all + +=method suggest + +=cut + for my $method (qw(update add delete get recent dates all suggest)) { __PACKAGE__->meta->add_method($method => sub { my $self = shift; @@ -67,4 +123,45 @@ for my $method (qw(update add delete get recent dates all suggest)) { __PACKAGE__->meta->make_immutable; no Moose; +=head1 BUGS + +No known bugs. + +Please report any bugs to GitHub Issues at +L. + +=head1 SEE ALSO + +L + +=head1 SUPPORT + +You can find this documentation for this module with the perldoc command. + + perldoc WWW::Pinboard + +You can also look for information at: + +=over 4 + +=item * MetaCPAN + +L + +=item * Github + +L + +=item * RT: CPAN's request tracker + +L + +=item * CPAN Ratings + +L + +=back + +=cut + 1; -- cgit v1.2.3