Skip to content

Commit

Permalink
add events
Browse files Browse the repository at this point in the history
  • Loading branch information
fayland committed Mar 30, 2012
1 parent 3b15e62 commit 5d902b4
Show file tree
Hide file tree
Showing 4 changed files with 121 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Changes
Expand Up @@ -5,6 +5,8 @@ Revision history for Net-GitHub
(From https://github.com/blog/1090-github-api-moving-on)
- so V3 is default on now
- access_token can be created with Net::GitHub::V3::OAuth create_authorization
- OAuth API
- Events API

0.42 2012.03.23
- Fixed typo in Net::GitHub::V2::NoRepo.pm that crippled App::GitHub (worr)
Expand Down
15 changes: 15 additions & 0 deletions lib/Net/GitHub/V3.pm
Expand Up @@ -15,6 +15,7 @@ use Net::GitHub::V3::Orgs;
use Net::GitHub::V3::GitData;
use Net::GitHub::V3::Gists;
use Net::GitHub::V3::OAuth;
use Net::GitHub::V3::Events;

has '+is_main_module' => (default => 1);

Expand Down Expand Up @@ -102,6 +103,16 @@ has 'oauth' => (
},
);

has 'event' => (
is => 'rw',
isa => 'Net::GitHub::V3::Events',
lazy => 1,
default => sub {
my $self = shift;
return Net::GitHub::V3::Events->new( $self->args_to_pass );
},
);

no Any::Moose;
__PACKAGE__->meta->make_immutable;

Expand Down Expand Up @@ -266,6 +277,10 @@ L<Net::GitHub::V3::Gists>
L<Net::GitHub::V3::OAuth>
=head3 event
L<Net::GitHub::V3::Events>
=head1 SEE ALSO
L<Any::Moose>, L<Pithub>
Expand Down
98 changes: 98 additions & 0 deletions lib/Net/GitHub/V3/Events.pm
@@ -0,0 +1,98 @@
package Net::GitHub::V3::Events;

use Any::Moose;

our $VERSION = '0.40';
our $AUTHORITY = 'cpan:FAYLAND';

use URI::Escape;

with 'Net::GitHub::V3::Query';

## build methods on fly
my %__methods = (

events => { url => '/events' },
repos_events => { url => "/repos/%s/%s/events" },
issues_events => { url => "/repos/%s/%s/issues/events" },
networks_events => { url => "/networks/%s/%s/events" },
orgs_events => { url => "/orgs/%s/events" },

user_received_events => { url => "/users/%s/received_events" },
user_public_received_events => { url => "/users/%s/received_events/public" },

user_events => { url => "/users/%s/events" },
user_public_events => { url => "/users/%s/events/public" },

user_orgs_events => { url => "/users/%s/events/orgs/%s" },

);
__build_methods(__PACKAGE__, %__methods);

no Any::Moose;
__PACKAGE__->meta->make_immutable;

1;
__END__
=head1 NAME
Net::GitHub::V3::Events - GitHub Events API
=head1 SYNOPSIS
use Net::GitHub::V3;
my $gh = Net::GitHub::V3->new; # read L<Net::GitHub::V3> to set right authentication info
my $event = $gh->event;
=head1 DESCRIPTION
=head2 METHODS
=head3 Events
L<http://developer.github.com/v3/events/>
=over 4
=item events
my @events = $event->events();
=item repos_events
=item issues_events
=item networks_events
my @events = $event->repos_events($user, $repo);
my @events = $event->issues_events($user, $repo);
my @events = $event->networks_events($user, $repo);
=item orgs_events
my @events = $event->orgs_events($org);
=item user_received_events
=item user_public_received_events
=item user_events
=item user_public_events
my @events = $event->user_received_events($user);
my @events = $event->user_public_received_events($user);
my @events = $event->user_events($user);
my @events = $event->user_public_events($user);
=item user_orgs_events
my @events = $event->user_orgs_events($user, $org);
=back
=head1 AUTHOR & COPYRIGHT & LICENSE
Refer L<Net::GitHub>
6 changes: 6 additions & 0 deletions lib/Net/GitHub/V3/OAuth.pm
Expand Up @@ -41,6 +41,12 @@ Net::GitHub::V3::OAuth - GitHub OAuth API
my $gh = Net::GitHub::V3->new; # read L<Net::GitHub::V3> to set right authentication info
my $oauth = $gh->oauth;
=head2 DESCRIPTION
For Web Application Flow, we suggest to use L<Net::OAuth>.
For Non-Web Application Flow, read the L<Net::GitHub> FAQ.
=head2 METHODS
=head3 OAuth
Expand Down

0 comments on commit 5d902b4

Please sign in to comment.