diff --git a/lib/index.js b/lib/index.js index 3e48d8b..1f65cf0 100644 --- a/lib/index.js +++ b/lib/index.js @@ -109,8 +109,7 @@ GitStats.prototype.record = function (data, callback) { delete data.url; } - // Get stats - self.get(function (err, stats) { + function modify (err, stats) { var commits = stats.commits , day = data.date.format(DATE_FORMAT) @@ -119,8 +118,22 @@ GitStats.prototype.record = function (data, callback) { today[data.hash] = 1; - self.save(stats, callback); - }); + if (data.save === false) { + callback(null, stats); + } else { + self.save(stats, callback); + } + + return stats; + } + + // Check if we have input data + if (data._data) { + return modify(null, data._data); + } else { + // Get stats + self.get(modify); + } return self; };