aboutsummaryrefslogtreecommitdiff
path: root/lib/git.js
diff options
context:
space:
mode:
authorTyler <[email protected]>2018-10-20 19:52:42 -0700
committerTyler <[email protected]>2018-10-20 19:52:42 -0700
commit7ded5dd46270454f7d6c0417c8ea406c7113feb1 (patch)
tree36181b5ff594a4e536fbecbe12da11e762b99029 /lib/git.js
parent031ad231ba6e88e8c5f40c5a8b62d2faa3fb7b61 (diff)
downloadfaker-7ded5dd46270454f7d6c0417c8ea406c7113feb1.tar.xz
faker-7ded5dd46270454f7d6c0417c8ea406c7113feb1.zip
merge with master
Diffstat (limited to 'lib/git.js')
-rw-r--r--lib/git.js87
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;