Skip to content

Instantly share code, notes, and snippets.

@lepture
Created June 30, 2012 12:13
Show Gist options
  • Save lepture/3023582 to your computer and use it in GitHub Desktop.
Save lepture/3023582 to your computer and use it in GitHub Desktop.
social - with seajs
define(function(require, exports, module) {
function GitHub(user) {
this.user = user;
}
GitHub.prototype.showRepos = function(options) {
options = options || {};
var limit = options.limit || 10;
var target = options.target || document.getElementById('github-repos');
if (target && target.length) target = target[0];
var html = '';
var url = 'https://api.github.com/users/' + this.user;
url += '/repos?sort=updated&callback=define';
require.async(url, function(repos) {
repos = repos.data.slice(0, limit);
if (options.callback) {
options.callback(repos);
} else {
for(var i = 0; i < repos.length; i++) {
var repo = repos[i];
html += '<li><a href="' + repo.html_url + '">' + repo.name;
html += '</a><p>' + repo.description + '</p></li>';
}
target.innerHTML = html;
}
});
}
var github = function(user) {
return new GitHub(user);
}
module.exports = github;
});
define(function(require, exports, module) {
function Twitter(user) {
this.user = user;
}
Twitter.prototype.showTweets = function(options) {
options = options || {};
var limit = options.limit || 10;
var target = options.target || document.getElementById('tweets');
if (target && target.length) target = target[0];
var html = '';
var url = 'https://api.twitter.com/1/statuses/user_timeline/';
url += this.user + '.json?count=' + limit + '&callback=define';
require.async(url, function(tweets) {
if (options.callback) {
options.callback(tweets);
} else {
for(var i = 0; i < tweets.length; i++) {
var tweet = tweets[i];
html += '<li><p>' + tweet.text + '</p></li>';
}
target.innerHTML = html;
}
});
}
var twitter = function(user) {
return new Twitter(user);
}
module.exports = twitter;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment