diff options
| author | Tyler <[email protected]> | 2018-10-20 19:52:42 -0700 |
|---|---|---|
| committer | Tyler <[email protected]> | 2018-10-20 19:52:42 -0700 |
| commit | 7ded5dd46270454f7d6c0417c8ea406c7113feb1 (patch) | |
| tree | 36181b5ff594a4e536fbecbe12da11e762b99029 /lib/git.js | |
| parent | 031ad231ba6e88e8c5f40c5a8b62d2faa3fb7b61 (diff) | |
| download | faker-7ded5dd46270454f7d6c0417c8ea406c7113feb1.tar.xz faker-7ded5dd46270454f7d6c0417c8ea406c7113feb1.zip | |
merge with master
Diffstat (limited to 'lib/git.js')
| -rw-r--r-- | lib/git.js | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/lib/git.js b/lib/git.js new file mode 100644 index 00000000..d431ea2d --- /dev/null +++ b/lib/git.js @@ -0,0 +1,87 @@ +/** + * @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.random.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; |
