UNPKG

1.77 kBJavaScriptView Raw
1/**
2 * @namespace faker.git
3 */
4
5var Git = function(faker) {
6 var self = this;
7 var f = faker.fake;
8
9 var hexChars = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
10
11 /**
12 * branch
13 *
14 * @method faker.git.branch
15 */
16 self.branch = function() {
17 var noun = faker.hacker.noun().replace(' ', '-');
18 var verb = faker.hacker.verb().replace(' ', '-');
19 return noun + '-' + verb;
20 }
21
22 /**
23 * commitEntry
24 *
25 * @method faker.git.commitEntry
26 * @param {object} options
27 */
28 self.commitEntry = function(options) {
29 options = options || {};
30
31 var entry = 'commit {{git.commitSha}}\r\n';
32
33 if (options.merge || (faker.datatype.number({ min: 0, max: 4 }) === 0)) {
34 entry += 'Merge: {{git.shortSha}} {{git.shortSha}}\r\n';
35 }
36
37 entry += 'Author: {{name.firstName}} {{name.lastName}} <{{internet.email}}>\r\n';
38 entry += 'Date: ' + faker.date.recent().toString() + '\r\n';
39 entry += '\r\n\xa0\xa0\xa0\xa0{{git.commitMessage}}\r\n';
40
41 return f(entry);
42 };
43
44 /**
45 * commitMessage
46 *
47 * @method faker.git.commitMessage
48 */
49 self.commitMessage = function() {
50 var format = '{{hacker.verb}} {{hacker.adjective}} {{hacker.noun}}';
51 return f(format);
52 };
53
54 /**
55 * commitSha
56 *
57 * @method faker.git.commitSha
58 */
59 self.commitSha = function() {
60 var commit = "";
61
62 for (var i = 0; i < 40; i++) {
63 commit += faker.random.arrayElement(hexChars);
64 }
65
66 return commit;
67 };
68
69 /**
70 * shortSha
71 *
72 * @method faker.git.shortSha
73 */
74 self.shortSha = function() {
75 var shortSha = "";
76
77 for (var i = 0; i < 7; i++) {
78 shortSha += faker.random.arrayElement(hexChars);
79 }
80
81 return shortSha;
82 };
83
84 return self;
85}
86
87module['exports'] = Git;