Provided by: libpithub-perl_0.01033-1_all 

NAME
Pithub::Gists - Github v3 Gists API
VERSION
version 0.01033
METHODS
comments
Provides access to Pithub::Gists::Comments.
create
• Create a gist
POST /gists
Parameters:
• 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": "git@gist.github.com: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/:id
Parameters:
• 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/forks
Parameters:
• 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": "git@gist.github.com:1.git",
"created_at": "2010-04-14T02:15:15Z"
}
get
• Get a single gist
GET /gists/:id
Parameters:
• 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": "git@gist.github.com: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/star
Parameters:
• 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/gists
Parameters:
• 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 /gists
Examples:
my $g = Pithub::Gists->new;
my $result = $g->list;
• List all public gists:
GET /gists/public
Parameters:
• public: boolean
Examples:
my $g = Pithub::Gists->new;
my $result = $g->list( public => 1 );
• List the authenticated user's starred gists:
GET /gists/starred
Parameters:
• 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": "git@gist.github.com:1.git",
"created_at": "2010-04-14T02:15:15Z"
}
]
star
• Star a gist
PUT /gists/:id/star
Parameters:
• 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/star
Parameters:
• 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/:id
Parameters:
• 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": "git@gist.github.com: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 <plu@cpan.org>
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.
perl v5.22.1 2016-02-02 Pithub::Gists(3pm)