NAME
Pithub::Gists - Github v3 Gists API
VERSION
version 0.01043
METHODS
comments
Provides access to Pithub::Gists::Comments.
create
- •
-
Create a gist
POST /gistsParameters:
- •
-
data: mandatory hashref, having following keys:
- •
-
description: optional string
- •
-
public: mandatory boolean
- •
-
files: mandatory hashref, please see examples section below
Examples:
my $g = Pithub::Gists->new;my $result = $g->create(data => {description => 'the description for this gist',public => 1,files => { 'file1.txt' => { content => 'String file content' } }});if ( $result->success ) {printf "The new gist is available at %s\n", $result->content->{html_url};}Response: Status: 201 Created
{"url": "https://api.github.com/gists/1","id": "1","description": "description of gist","public": true,"user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"files": {"ring.erl": {"size": 932,"filename": "ring.erl","raw_url": "https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl","content": "contents of gist"}},"comments": 0,"git_pull_url": "git://gist.github.com/1.git","git_push_url": "[email protected]:1.git","created_at": "2010-04-14T02:15:15Z","forks": [{"user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"url": "https://api.github.com/gists/5","created_at": "2011-04-14T16:00:49Z"}],"history": [{"url": "https://api.github.com/gists/1/57a7f021a713b1c5a6a199b54cc514735d2d462f","version": "57a7f021a713b1c5a6a199b54cc514735d2d462f","user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"change_status": {"deletions": 0,"additions": 180,"total": 180},"committed_at": "2010-04-14T02:15:15Z"}]}
delete
- •
-
Delete a gist
DELETE /gists/:idParameters:
- •
-
gist_id: mandatory integer
Examples:
my $g = Pithub::Gists->new;my $result = $g->delete( gist_id => 784612 );if ( $result->success ) {print "The gist 784612 has been deleted\n";}Response: Status: 204 No Content
fork
- •
-
Fork a gist
POST /gists/:id/forksParameters:
- •
-
gist_id: mandatory integer
Examples:
my $g = Pithub::Gists->new;my $result = $g->fork( gist_id => 784612 );if ( $result->success ) {printf "The gist 784612 has been forked: %s\n", $result->content->{html_url};}Response: Status: 201 Created
{"url": "https://api.github.com/gists/1","id": "1","description": "description of gist","public": true,"user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"files": {"ring.erl": {"size": 932,"filename": "ring.erl","raw_url": "https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl","content": "contents of gist"}},"comments": 0,"git_pull_url": "git://gist.github.com/1.git","git_push_url": "[email protected]:1.git","created_at": "2010-04-14T02:15:15Z"}
get
- •
-
Get a single gist
GET /gists/:idParameters:
- •
-
gist_id: mandatory integer
Examples:
my $g = Pithub::Gists->new;my $result = $g->get( gist_id => 784612 );if ( $result->success ) {print $result->content->{html_url};}Response: Status: 200 OK
{"url": "https://api.github.com/gists/1","id": "1","description": "description of gist","public": true,"user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"files": {"ring.erl": {"size": 932,"filename": "ring.erl","raw_url": "https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl","content": "contents of gist"}},"comments": 0,"git_pull_url": "git://gist.github.com/1.git","git_push_url": "[email protected]:1.git","created_at": "2010-04-14T02:15:15Z","forks": [{"user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"url": "https://api.github.com/gists/5","created_at": "2011-04-14T16:00:49Z"}],"history": [{"url": "https://api.github.com/gists/1/57a7f021a713b1c5a6a199b54cc514735d2d462f","version": "57a7f021a713b1c5a6a199b54cc514735d2d462f","user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"change_status": {"deletions": 0,"additions": 180,"total": 180},"committed_at": "2010-04-14T02:15:15Z"}]}
is_starred
- •
-
Check if a gist is starred
GET /gists/:id/starParameters:
- •
-
gist_id: mandatory integer
Examples:
my $g = Pithub::Gists->new;my $result = $g->is_starred( gist_id => 784612 );Response: Status: 204 No Content /
"Status: 404 Not Found"
list
- •
-
List a user's gists:
GET /users/:user/gistsParameters:
- •
-
user: string
Examples:
my $g = Pithub::Gists->new;my $result = $g->list( user => 'miyagawa' );if ( $result->success ) {while ( my $row = $result->next ) {printf "%s => %s\n", $row->{html_url}, $row->{description} || 'no description';}}
- •
-
List the authenticated user's gists or if called anonymously, this will returns all public gists:
GET /gistsExamples:
my $g = Pithub::Gists->new;my $result = $g->list;
- •
-
List all public gists:
GET /gists/publicParameters:
- •
-
public: boolean
Examples:
my $g = Pithub::Gists->new;my $result = $g->list( public => 1 );
- •
-
List the authenticated user's starred gists:
GET /gists/starredParameters:
- •
-
starred: boolean
Examples:
my $g = Pithub::Gists->new;my $result = $g->list( starred => 1 );Response: Status: 200 OK
[{"url": "https://api.github.com/gists/1","id": "1","description": "description of gist","public": true,"user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"files": {"ring.erl": {"size": 932,"filename": "ring.erl","raw_url": "https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl","content": "contents of gist"}},"comments": 0,"git_pull_url": "git://gist.github.com/1.git","git_push_url": "[email protected]:1.git","created_at": "2010-04-14T02:15:15Z"}]
star
- •
-
Star a gist
PUT /gists/:id/starParameters:
- •
-
gist_id: mandatory integer
Examples:
my $g = Pithub::Gists->new;my $result = $g->star( gist_id => 784612 );Response: Status: 204 No Content
unstar
- •
-
Unstar a gist
DELETE /gists/:id/starParameters:
- •
-
gist_id: mandatory integer
Examples:
my $g = Pithub::Gists->new;my $result = $g->unstar( gist_id => 784612 );Response: Status: 204 No Content
update
- •
-
Edit a gist
PATCH /gists/:idParameters:
- •
-
gist_id: mandatory integer
- •
-
data: mandatory hashref, having following keys:
- •
-
description: optional string
- •
-
public: mandatory boolean
- •
-
files: mandatory hashref, please see examples section below
NOTE: All files from the previous version of the gist are carried over by default if not included in the hash. Deletes can be performed by including the filename with a null hash.
Examples:
my $g = Pithub::Gists->new;my $result = $g->update(gist_id => 784612,data => {description => 'the description for this gist',files => {'file1.txt' => { content => 'updated file contents' },'old_name.txt' => {filename => 'new_name.txt',content => 'modified contents'},'new_file.txt' => { content => 'a new file' },'delete_this_file.txt' => undef}});Response: Status: 200 OK
{"url": "https://api.github.com/gists/1","id": "1","description": "description of gist","public": true,"user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"files": {"ring.erl": {"size": 932,"filename": "ring.erl","raw_url": "https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl","content": "contents of gist"}},"comments": 0,"git_pull_url": "git://gist.github.com/1.git","git_push_url": "[email protected]:1.git","created_at": "2010-04-14T02:15:15Z","forks": [{"user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"url": "https://api.github.com/gists/5","created_at": "2011-04-14T16:00:49Z"}],"history": [{"url": "https://api.github.com/gists/1/57a7f021a713b1c5a6a199b54cc514735d2d462f","version": "57a7f021a713b1c5a6a199b54cc514735d2d462f","user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"change_status": {"deletions": 0,"additions": 180,"total": 180},"committed_at": "2010-04-14T02:15:15Z"}]}
AUTHOR
Johannes Plunien <[email protected]>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Johannes Plunien.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.