Skip to content

Commit

Permalink
Add Stars support.
Browse files Browse the repository at this point in the history
  • Loading branch information
joeyw committed Sep 24, 2012
1 parent 5f0901e commit 2fe9a2e
Show file tree
Hide file tree
Showing 6 changed files with 1,431 additions and 0 deletions.
12 changes: 12 additions & 0 deletions lib/octokit/client/repositories.rb
Expand Up @@ -29,6 +29,14 @@ def repositories(username=nil, options={})
alias :list_repos :repositories
alias :repos :repositories

def star(repo, options={})
put "user/starred/#{Repository.new repo}", options, 3
end

def unstar(repo, options={})
delete "user/starred/#{Repository.new repo}", options, 3
end

def watch(repo, options={})
put "user/watched/#{Repository.new repo}", options, 3
end
Expand Down Expand Up @@ -108,6 +116,10 @@ def contributors(repo, anon=false, options={})
end
alias :contribs :contributors

def stargazers(repo, options={})
get "repos/#{Repository.new repo}/stargazers", options, 3
end

def watchers(repo, options={})
get "repos/#{Repository.new repo}/watchers", options, 3
end
Expand Down
10 changes: 10 additions & 0 deletions lib/octokit/client/users.rb
Expand Up @@ -63,6 +63,16 @@ def unfollow(user, options={})
delete("user/following/#{user}", options, 3, true, raw=true).status == 204
end

def starred(user=login, options={})
get("users/#{user}/starred", options, 3)
end

def starred?(user, repo, options={})
get("user/starred/#{user}/#{repo}", options, 3, true, raw=true).status == 204
rescue Octokit::NotFound
false
end

def watched(user=login, options={})
get("users/#{user}/watched", options, 3)
end
Expand Down
212 changes: 212 additions & 0 deletions spec/fixtures/v3/stargazers.json
@@ -0,0 +1,212 @@
[
{
"gravatar_id": "1f74b13f1e5c6c69cb5d7fbaabb1e2cb",
"id": 10308,
"login": "sferik",
"url": "https://api.github.com/users/sferik",
"avatar_url": "https://secure.gravatar.com/avatar/1f74b13f1e5c6c69cb5d7fbaabb1e2cb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "dfa3143343f3680753e0ae09de57bcd6",
"id": 2641,
"login": "hurrycane",
"url": "https://api.github.com/users/hurrycane",
"avatar_url": "https://secure.gravatar.com/avatar/dfa3143343f3680753e0ae09de57bcd6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "428167a3ec72235ba971162924492609",
"id": 4,
"login": "wycats",
"url": "https://api.github.com/users/wycats",
"avatar_url": "https://secure.gravatar.com/avatar/428167a3ec72235ba971162924492609?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "454dcacc6b66e1ea03430a65feff7398",
"id": 43417,
"login": "Psli",
"url": "https://api.github.com/users/Psli",
"avatar_url": "https://secure.gravatar.com/avatar/454dcacc6b66e1ea03430a65feff7398?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "23543848894f7af28866ccf2e0bd185b",
"id": 5977,
"login": "gigamo",
"url": "https://api.github.com/users/gigamo",
"avatar_url": "https://secure.gravatar.com/avatar/23543848894f7af28866ccf2e0bd185b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "7973be881d75b917a40a166b6cb1792c",
"id": 62331,
"login": "stevehodgkiss",
"url": "https://api.github.com/users/stevehodgkiss",
"avatar_url": "https://secure.gravatar.com/avatar/7973be881d75b917a40a166b6cb1792c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "582034b63279abeaa8e76acf12f5ee30",
"id": 5004,
"login": "drogus",
"url": "https://api.github.com/users/drogus",
"avatar_url": "https://secure.gravatar.com/avatar/582034b63279abeaa8e76acf12f5ee30?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "debde181b3a5925bb347193b7568de6d",
"id": 1114,
"login": "digx",
"url": "https://api.github.com/users/digx",
"avatar_url": "https://secure.gravatar.com/avatar/debde181b3a5925bb347193b7568de6d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "63b09042812754c8e25faf71e3c3f09c",
"id": 169271,
"login": "cpatni",
"url": "https://api.github.com/users/cpatni",
"avatar_url": "https://secure.gravatar.com/avatar/63b09042812754c8e25faf71e3c3f09c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "a434c7b2837e1d09bc1a32b17e3ca2a6",
"id": 192933,
"login": "zhengjia",
"url": "https://api.github.com/users/zhengjia",
"avatar_url": "https://secure.gravatar.com/avatar/a434c7b2837e1d09bc1a32b17e3ca2a6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "422a492216af1bcad85496da9c0657d3",
"id": 12169,
"login": "sr3d",
"url": "https://api.github.com/users/sr3d",
"avatar_url": "https://secure.gravatar.com/avatar/422a492216af1bcad85496da9c0657d3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "40a0afa49eb7b12db4dcda70b2e1520d",
"id": 215071,
"login": "kaapa",
"url": "https://api.github.com/users/kaapa",
"avatar_url": "https://secure.gravatar.com/avatar/40a0afa49eb7b12db4dcda70b2e1520d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "a8f126503830f17535611793c379a3b9",
"id": 97366,
"login": "exine",
"url": "https://api.github.com/users/exine",
"avatar_url": "https://secure.gravatar.com/avatar/a8f126503830f17535611793c379a3b9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "e21ea082781b0d150cfe15c3223549bf",
"id": 158660,
"login": "simonomis",
"url": "https://api.github.com/users/simonomis",
"avatar_url": "https://secure.gravatar.com/avatar/e21ea082781b0d150cfe15c3223549bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "7502b2ff04e7446bbc26a06081cbf5ed",
"id": 101274,
"login": "brunomalvestuto",
"url": "https://api.github.com/users/brunomalvestuto",
"avatar_url": "https://secure.gravatar.com/avatar/7502b2ff04e7446bbc26a06081cbf5ed?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "e7a8287a95384365aebea228018e450b",
"id": 105954,
"login": "galuto",
"url": "https://api.github.com/users/galuto",
"avatar_url": "https://secure.gravatar.com/avatar/e7a8287a95384365aebea228018e450b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "e406931fbeece385c032f601968928b1",
"id": 120809,
"login": "rozaliev",
"url": "https://api.github.com/users/rozaliev",
"avatar_url": "https://secure.gravatar.com/avatar/e406931fbeece385c032f601968928b1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "2a03308b3abcbb395a2825cfe3d5f710",
"id": 6397,
"login": "lucasts",
"url": "https://api.github.com/users/lucasts",
"avatar_url": "https://secure.gravatar.com/avatar/2a03308b3abcbb395a2825cfe3d5f710?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "c544188078900e5d5976689949177f11",
"id": 11747,
"login": "slawosz",
"url": "https://api.github.com/users/slawosz",
"avatar_url": "https://secure.gravatar.com/avatar/c544188078900e5d5976689949177f11?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "ac6a1517accfdf91ef9c3906b19ff02c",
"id": 6775,
"login": "shanlalit",
"url": "https://api.github.com/users/shanlalit",
"avatar_url": "https://secure.gravatar.com/avatar/ac6a1517accfdf91ef9c3906b19ff02c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "d8526daaca96275ea39324816b44292f",
"id": 8074,
"login": "grigio",
"url": "https://api.github.com/users/grigio",
"avatar_url": "https://secure.gravatar.com/avatar/d8526daaca96275ea39324816b44292f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "c010992dff8a2b7342936d312216ccab",
"id": 7192,
"login": "tokumine",
"url": "https://api.github.com/users/tokumine",
"avatar_url": "https://secure.gravatar.com/avatar/c010992dff8a2b7342936d312216ccab?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "97822aeb6cea1c6b6e6a7170c6e96fd8",
"id": 101310,
"login": "xlcrs",
"url": "https://api.github.com/users/xlcrs",
"avatar_url": "https://secure.gravatar.com/avatar/97822aeb6cea1c6b6e6a7170c6e96fd8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "9b1a71682de14fc6fc2b944a9c4814a0",
"id": 755,
"login": "myabc",
"url": "https://api.github.com/users/myabc",
"avatar_url": "https://secure.gravatar.com/avatar/9b1a71682de14fc6fc2b944a9c4814a0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "832ed6ace46d61032151f4e1864c057f",
"id": 5091,
"login": "dmitry",
"url": "https://api.github.com/users/dmitry",
"avatar_url": "https://secure.gravatar.com/avatar/832ed6ace46d61032151f4e1864c057f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "0945810eafa4ac5387084a7815488579",
"id": 16054,
"login": "plukevdh",
"url": "https://api.github.com/users/plukevdh",
"avatar_url": "https://secure.gravatar.com/avatar/0945810eafa4ac5387084a7815488579?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "b444b54fb4349a617b68f55ed923ca7e",
"id": 49547,
"login": "sunny36",
"url": "https://api.github.com/users/sunny36",
"avatar_url": "https://secure.gravatar.com/avatar/b444b54fb4349a617b68f55ed923ca7e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "75cb325d7b55a6659fc050f6fa822c7c",
"id": 1037,
"login": "zmack",
"url": "https://api.github.com/users/zmack",
"avatar_url": "https://secure.gravatar.com/avatar/75cb325d7b55a6659fc050f6fa822c7c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "f5f0ba91703367c16ff63b2794478369",
"id": 69581,
"login": "cameronpriest",
"url": "https://api.github.com/users/cameronpriest",
"avatar_url": "https://secure.gravatar.com/avatar/f5f0ba91703367c16ff63b2794478369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
},
{
"gravatar_id": "232657bc369e6379b6a8801452d2507f",
"id": 745,
"login": "Bregor",
"url": "https://api.github.com/users/Bregor",
"avatar_url": "https://secure.gravatar.com/avatar/232657bc369e6379b6a8801452d2507f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"
}
]

0 comments on commit 2fe9a2e

Please sign in to comment.