code-challenge-7geese
Version:
This is a revised solution for the 7Geese JavaScript Challenge.
34 lines • 1.43 kB
JavaScript
/*global require, module, Backbone, $, _*/
;
var Backbone = require('backbone'),
searchView = require('../views/searchView.js');
module.exports = function(myConfig) {
var myReposCollection;
var ReposCollection = Backbone.Collection.extend({
url: 'https://api.github.com/users/' + myConfig.repoName + '/repos',
model: myConfig.myObject.models.defaultModel,
// select only the attributes we want
parse: function (response, xhr) {
var parsedRepos = [];
for (var i = 0; i < response.length; i++) {
var currentRepo = {
id: response[i].id,
// alter repo names based on challenge criteria
name: myConfig.myObject.functions.handleName(response[i].name),
forks: response[i].forks,
language: response[i].language,
// select only date portion of created_at string
date: response[i].created_at.split('T')[0]
};
parsedRepos.push(currentRepo);
}
return parsedRepos
}
});
// initialize views after the fetch has been completed
myReposCollection = new ReposCollection();
myReposCollection.fetch({success: function() {
myConfig.myObject.views.searchView = searchView(myConfig);
}});
return myReposCollection;
};