[libnet-github-perl] 01/06: Imported Upstream version 0.60

gregor herrmann gregoa at debian.org
Fri May 16 15:48:15 UTC 2014


This is an automated email from the git hooks/post-receive script.

gregoa pushed a commit to branch master
in repository libnet-github-perl.

commit c429ba2747fbb0778b55200c9987d867f52af1f0
Author: gregor herrmann <gregoa at debian.org>
Date:   Fri May 16 17:42:54 2014 +0200

    Imported Upstream version 0.60
---
 Changes                                |  5 ++-
 MANIFEST                               |  2 +-
 META.yml                               |  3 +-
 {exmaples => examples}/upload_asset.pl |  0
 lib/Net/GitHub.pm                      |  2 +-
 lib/Net/GitHub/V3/Repos.pm             | 68 ++++++++++++++++++++++++++--------
 xt/v3/200-repos.t                      | 12 ++++++
 7 files changed, 73 insertions(+), 19 deletions(-)

diff --git a/Changes b/Changes
index a8db387..eaa69fc 100644
--- a/Changes
+++ b/Changes
@@ -1,7 +1,10 @@
 Revision history for Net-GitHub
 
+0.60    2014-05-16
+        filters in commits, delete repos etc.
+
 0.59    2014-03-30
-        - upload_release
+        - upload_asset
 
 0.58    2014-03-30
         - Release API
diff --git a/MANIFEST b/MANIFEST
index e9b1bb2..a6f4d63 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,5 +1,5 @@
 Changes
-exmaples/upload_asset.pl
+examples/upload_asset.pl
 inc/Module/AutoInstall.pm
 inc/Module/Install.pm
 inc/Module/Install/AutoInstall.pm
diff --git a/META.yml b/META.yml
index 7b48942..163a837 100644
--- a/META.yml
+++ b/META.yml
@@ -20,6 +20,7 @@ meta-spec:
 name: Net-GitHub
 no_index:
   directory:
+    - examples
     - inc
     - t
     - xt
@@ -36,4 +37,4 @@ requires:
 resources:
   license: http://dev.perl.org/licenses/
   repository: https://github.com/fayland/perl-net-github
-version: 0.59
+version: 0.60
diff --git a/exmaples/upload_asset.pl b/examples/upload_asset.pl
similarity index 100%
rename from exmaples/upload_asset.pl
rename to examples/upload_asset.pl
diff --git a/lib/Net/GitHub.pm b/lib/Net/GitHub.pm
index 49eaec5..7b26dc9 100644
--- a/lib/Net/GitHub.pm
+++ b/lib/Net/GitHub.pm
@@ -3,7 +3,7 @@ package Net::GitHub;
 use Any::Moose;
 use Net::GitHub::V3;
 
-our $VERSION = '0.59';
+our $VERSION = '0.60';
 our $AUTHORITY = 'cpan:FAYLAND';
 
 sub new {
diff --git a/lib/Net/GitHub/V3/Repos.pm b/lib/Net/GitHub/V3/Repos.pm
index e5e9382..fc43dda 100644
--- a/lib/Net/GitHub/V3/Repos.pm
+++ b/lib/Net/GitHub/V3/Repos.pm
@@ -2,21 +2,27 @@ package Net::GitHub::V3::Repos;
 
 use Any::Moose;
 
-our $VERSION = '0.59';
+our $VERSION = '0.60';
 our $AUTHORITY = 'cpan:FAYLAND';
 
 use Carp;
 use URI::Escape;
+use URI;
 use HTTP::Request::Common qw(POST);
 
 with 'Net::GitHub::V3::Query';
 
 sub list {
-    my ( $self, $type ) = @_;
-    $type ||= 'all';
-    my $u = '/user/repos';
-    $u .= '?type=' . $type if $type ne 'all';
-    return $self->query($u);
+    my ( $self, $args ) = @_;
+
+    # for old
+    unless (ref($args) eq 'HASH') {
+        $args = { type => $args };
+    }
+
+    my $uri = URI->new('/user/repos');
+    $uri->query_form($args);
+    return $self->query($uri->as_string);
 }
 
 sub list_all {
@@ -28,12 +34,17 @@ sub list_all {
 }
 
 sub list_user {
-    my ($self, $user, $type) = @_;
+    my ($self, $user, $args) = @_;
     $user ||= $self->u;
-    $type ||= 'all';
-    my $u = "/users/" . uri_escape($user) . "/repos";
-    $u .= '?type=' . $type if $type ne 'all';
-    return $self->query($u);
+
+    # for old
+    unless (ref($args) eq 'HASH') {
+        $args = { type => $args };
+    }
+
+    my $uri = URI->new("/users/" . uri_escape($user) . "/repos");
+    $uri->query_form($args);
+    return $self->query($uri->as_string);
 }
 
 sub list_org {
@@ -86,6 +97,19 @@ sub upload_asset {
     return wantarray ? %$data : $data;
 }
 
+sub commits {
+    my $self = shift;
+    if (@_ < 2) {
+        unshift @_, $self->repo;
+        unshift @_, $self->u;
+    }
+    my ($user, $repos, $args) = @_;
+
+    my $uri = URI->new("/repos/" . uri_escape($user) . "/" . uri_escape($repos) . '/commits');
+    $uri->query_form($args);
+    return $self->query($uri->as_string);
+}
+
 ## build methods on fly
 my %__methods = (
 
@@ -96,6 +120,8 @@ my %__methods = (
     teams     => { url => "/repos/%s/%s/teams" },
     tags      => { url => "/repos/%s/%s/tags" },
     branches  => { url => "/repos/%s/%s/branches" },
+    branch => { url => "/repos/%s/%s/branches/%s" },
+    delete => { url => "/repos/%s/%s", method => 'DELETE', check_status => 204 },
 
     # http://developer.github.com/v3/repos/collaborators/
     collaborators       => { url => "/repos/%s/%s/collaborators" },
@@ -104,7 +130,6 @@ my %__methods = (
     delete_collaborator => { url => "/repos/%s/%s/collaborators/%s", method => 'DELETE', check_status => 204 },
 
     # http://developer.github.com/v3/repos/commits/
-    commits  => { url => "/repos/%s/%s/commits" },
     commit   => { url => "/repos/%s/%s/commits/%s" },
     comments => { url => "/repos/%s/%s/comments" },
     comment  => { url => "/repos/%s/%s/comments/%s" },
@@ -295,9 +320,14 @@ L<http://developer.github.com/v3/repos/>
 =item list_org
 
     my @rp = $repos->list; # or my $rp = $repos->list;
-    my @rp = $repos->list('private');
+    my @rp = $repos->list({
+        type => 'private'
+        sort => 'updated'
+    });
     my @rp = $repos->list_user('c9s');
-    my @rp = $repos->list_user('c9s', 'member');
+    my @rp = $repos->list_user('c9s', {
+        type => 'member'
+    });
     my @rp = $repos->list_org('perlchina');
     my @rp = $repos->list_org('perlchina', 'public');
 
@@ -341,6 +371,10 @@ B<To ease the keyboard, we provied two ways to call any method which starts with
 
     $repos->update({ homepage => 'https://metacpan.org/module/Net::GitHub' });
 
+=item delete
+
+    $repos->delete();
+
 =item contributors
 
 =item languages
@@ -356,6 +390,7 @@ B<To ease the keyboard, we provied two ways to call any method which starts with
     my @teams = $repos->teams;
     my @tags = $repos->tags;
     my @branches = $repos->branches;
+    my $branch = $repos->branch('master');
 
 =back
 
@@ -391,6 +426,9 @@ L<http://developer.github.com/v3/repos/commits/>
 =item commit
 
     my @commits = $repos->commits;
+    my @commits = $repos->commits({
+        author => 'fayland'
+    });
     my $commit  = $repos->commit($sha);
 
 =item comments
@@ -654,7 +692,7 @@ L<http://developer.github.com/v3/repos/releases/>
 
     my $asset = $repos->upload_asset($release_id, $name, $content_type, $file_content);
 
-Check examples/upload_asset.pl for an working examples.
+Check examples/upload_asset.pl for a working example.
 
 =item release_asset
 
diff --git a/xt/v3/200-repos.t b/xt/v3/200-repos.t
index 4f26465..2aab14f 100644
--- a/xt/v3/200-repos.t
+++ b/xt/v3/200-repos.t
@@ -19,6 +19,18 @@ ok( $repos );
 my @p = $repos->list;
 ok(@p > 3, 'more than 3 repos');
 
+
+=pod
+
+$repos->set_default_user_repo('fayland', 'perl-net-github');
+my @commits = $repos->commits({
+    author => 'jibsheet'
+});
+use Data::Dumper;
+print Dumper(\@commits);
+
+=cut
+
 =pod
 
 $repos->set_default_user_repo('fayland', 'perl-net-github');

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libnet-github-perl.git



More information about the Pkg-perl-cvs-commits mailing list