aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBryan Donovan <[email protected]>2013-01-05 19:54:21 -0800
committerBryan Donovan <[email protected]>2013-01-05 19:54:21 -0800
commit0b3cfbee64547e7a624c8d8f988c293ed463cf4b (patch)
tree46b926661b16b3eb8f911777c2fb8f699d8785f1 /lib
parent8a6ad8d2de768aff38e09cda46fc0dfd2d52b2b8 (diff)
downloadfaker-0b3cfbee64547e7a624c8d8f988c293ed463cf4b.tar.xz
faker-0b3cfbee64547e7a624c8d8f988c293ed463cf4b.zip
refactoring so we do not need to use Helpers.randomize() everywhere
Diffstat (limited to 'lib')
-rw-r--r--lib/company.js21
-rw-r--r--lib/helpers.js11
-rw-r--r--lib/random.js34
3 files changed, 49 insertions, 17 deletions
diff --git a/lib/company.js b/lib/company.js
index 8c9f3a0e..959988fb 100644
--- a/lib/company.js
+++ b/lib/company.js
@@ -1,35 +1,34 @@
-var Helpers = require('./helpers');
var Name = require('./name');
-var definitions = require('../lib/definitions');
+var random = require('../lib/random');
var company = {
suffixes: ["Inc", "and Sons", "LLC", "Group", "and Daughters"],
companyName: function (format) {
- switch ((format ? format : Helpers.randomNumber(3))) {
+ switch ((format ? format : random.number(3))) {
case 0:
return Name.lastName() + " " + this.companySuffix();
case 1:
return Name.lastName() + "-" + Name.lastName();
case 2:
- return Name.lastName() + "," + Name.lastName() + " and " + Name.lastName();
+ return Name.lastName() + ", " + Name.lastName() + " and " + Name.lastName();
}
},
companySuffix: function () {
- return Helpers.randomize(this.suffixes);
+ return random.array_rand(this.suffixes);
},
catchPhrase: function () {
- return Helpers.randomize(definitions.catch_phrase_adjective()) + " " +
- Helpers.randomize(definitions.catch_phrase_descriptor()) + " " +
- Helpers.randomize(definitions.catch_phrase_noun());
+ return random.catch_phrase_adjective() + " " +
+ random.catch_phrase_descriptor() + " " +
+ random.catch_phrase_noun();
},
bs: function () {
- return Helpers.randomize(definitions.bs_adjective()) + " " +
- Helpers.randomize(definitions.bs_buzz()) + " " +
- Helpers.randomize(definitions.bs_noun());
+ return random.bs_adjective() + " " +
+ random.bs_buzz() + " " +
+ random.bs_noun();
}
};
diff --git a/lib/helpers.js b/lib/helpers.js
index 27824a16..858f2ba8 100644
--- a/lib/helpers.js
+++ b/lib/helpers.js
@@ -1,15 +1,14 @@
var Faker = require('../Faker');
+var random = require('./random');
-// returns a single random number based on a range
+// temporary backword-compatibility
exports.randomNumber = function (range) {
- var r = Math.floor(Math.random() * range);
- return r;
+ return random.number(range);
};
-// takes an array and returns the array randomly sorted
+// temporary backword-compatibility
exports.randomize = function (array) {
- var r = Math.floor(Math.random() * array.length);
- return array[r];
+ return random.array_rand(array);
};
// parses string for a symbol and replace it with a random number from 1-10
diff --git a/lib/random.js b/lib/random.js
new file mode 100644
index 00000000..abfba1a4
--- /dev/null
+++ b/lib/random.js
@@ -0,0 +1,34 @@
+var definitions = require('./definitions');
+
+var random = {
+ // returns a single random number based on a range
+ number: function (range) {
+ var r = Math.floor(Math.random() * range);
+ console.log(r);
+ return r;
+ },
+
+ // takes an array and returns the array randomly sorted
+ array_rand: function (array) {
+ var r = Math.floor(Math.random() * array.length);
+ return array[r];
+ }
+};
+
+var method_names = [
+ 'catch_phrase_adjective',
+ 'catch_phrase_descriptor',
+ 'catch_phrase_noun',
+ 'bs_adjective',
+ 'bs_buzz',
+ 'bs_noun'
+];
+
+for (var i = 0; i < method_names.length; i++) {
+ var method_name = method_names[i];
+ random[method_name] = function () {
+ return random.array_rand(definitions[method_name]());
+ };
+}
+
+module.exports = random;