Skip to content

Instantly share code, notes, and snippets.

@Mygod
Last active July 19, 2016 04:06
Show Gist options
  • Save Mygod/0a833d7853263900aedeedaa74209977 to your computer and use it in GitHub Desktop.
Save Mygod/0a833d7853263900aedeedaa74209977 to your computer and use it in GitHub Desktop.
Get your followers score on GitHub!
// followers score = sum((1 + user.followers) / user.following) for user in your followers
// We believe a user is more valuable if he/she doesn't follow everyone he/she sees on GitHub.
function getFollowersScore(username) {
var request = new XMLHttpRequest();
request.open('get', 'https://api.github.com/users/' + username + '/followers', false);
request.send(null);
var result = 0;
var followers = JSON.parse(request.response);
var pending = followers.length;
for (var follower of followers) (function (follower) {
var request = new XMLHttpRequest();
request.open('get', follower.url);
request.onload = function (e) {
follower.tag = true;
var user = JSON.parse(request.response);
result += (1 + user.followers) / user.following; // assume everyone follows himself/herself
if (!--pending) console.log(result);
};
request.send(null);
})(follower);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment