/** * @namespace faker.git */ var Git = function (faker) { var self = this; var f = faker.fake; var hexChars = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', ]; /** * branch * * @method faker.git.branch */ self.branch = function () { var noun = faker.hacker.noun().replace(' ', '-'); var verb = faker.hacker.verb().replace(' ', '-'); return noun + '-' + verb; }; /** * commitEntry * * @method faker.git.commitEntry * @param {object} options */ self.commitEntry = function (options) { options = options || {}; var entry = 'commit {{git.commitSha}}\r\n'; if (options.merge || faker.datatype.number({ min: 0, max: 4 }) === 0) { entry += 'Merge: {{git.shortSha}} {{git.shortSha}}\r\n'; } entry += 'Author: {{name.firstName}} {{name.lastName}} <{{internet.email}}>\r\n'; entry += 'Date: ' + faker.date.recent().toString() + '\r\n'; entry += '\r\n\xa0\xa0\xa0\xa0{{git.commitMessage}}\r\n'; return f(entry); }; /** * commitMessage * * @method faker.git.commitMessage */ self.commitMessage = function () { var format = '{{hacker.verb}} {{hacker.adjective}} {{hacker.noun}}'; return f(format); }; /** * commitSha * * @method faker.git.commitSha */ self.commitSha = function () { var commit = ''; for (var i = 0; i < 40; i++) { commit += faker.random.arrayElement(hexChars); } return commit; }; /** * shortSha * * @method faker.git.shortSha */ self.shortSha = function () { var shortSha = ''; for (var i = 0; i < 7; i++) { shortSha += faker.random.arrayElement(hexChars); } return shortSha; }; return self; }; module['exports'] = Git;