dohruby 0.1.9 → 0.1.10
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +2 -2
- data/lib/doh/data/basic.rb +47 -0
- data/lib/doh/data/bulk.rb +132 -0
- data/lib/doh/data/human.rb +86 -0
- data/lib/doh/data.rb +2 -0
- metadata +7 -2
data/CHANGELOG
CHANGED
@@ -31,5 +31,5 @@
|
|
31
31
|
* add to_sql, unquoted to mysql convenience include
|
32
32
|
* change Handle::query failure log level from fatal to error
|
33
33
|
* remove useless exception handling in mysql/database_creator
|
34
|
-
|
35
|
-
|
34
|
+
*0.1.10* (April 18th, 2008)
|
35
|
+
* added new library: DohData - for random human (name, email, address) data generation
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module DohData
|
2
|
+
|
3
|
+
def self.random_characters(count, values_string)
|
4
|
+
retval = ''
|
5
|
+
count.times {retval += values_string.slice(rand(values_string.size), 1)}
|
6
|
+
retval
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.random_letters(count)
|
10
|
+
random_characters(count, 'abcdefghijklmnopqrstuvwxyz')
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.random_digits(count)
|
14
|
+
random_characters(count, '0123456789')
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.random_alnum(count)
|
18
|
+
random_characters(count, 'abcdefghijklmnopqrstuvwxyz0123456789')
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.random_range(min, max, multiplier = 1)
|
22
|
+
(rand(max + 1 - min) + min) * multiplier
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.random_array_element(array)
|
26
|
+
array[rand(array.size)]
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.random_element(*args)
|
30
|
+
flat = args.flatten
|
31
|
+
flat[rand(flat.size)]
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.random_bool
|
35
|
+
random_element(true, false)
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.random_amount(max, multiplier = 1)
|
39
|
+
(rand(max) + 1) * multiplier
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.random_percent(percent)
|
43
|
+
rand(100) < percent
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
@@ -0,0 +1,132 @@
|
|
1
|
+
module DohData
|
2
|
+
|
3
|
+
@@last_names = \
|
4
|
+
['smith','johnson','williams','jones','brown','davis','miller','wilson','moore','taylor','anderson','thomas','jackson','white','harris' \
|
5
|
+
,'martin','thompson','garcia','robinson','clark','lewis','lee','walker','hall','allen','young' \
|
6
|
+
,'king','wright','hill','scott','green','adams','baker','nelson','carter','mitchell','roberts','turner' \
|
7
|
+
,'phillips','campbell','parker','evans','edwards','collins','stewart','morris','rogers','reed','cook','morgan','bell','murphy' \
|
8
|
+
,'bailey','rivera','cooper','richardson','cox','howard','ward','torres','peterson','gray','james','watson','brooks','kelly','sanders' \
|
9
|
+
,'price','bennett','wood','barnes','ross','henderson','coleman','jenkins','perry','powell','long','patterson','hughes','flores','washington' \
|
10
|
+
,'butler','simmons','foster','bryant','alexander','russell','griffin','hayes','myers','ford','hamilton','graham','sullivan' \
|
11
|
+
,'wallace','woods','cole','west','jordan','owens','reynolds','fisher','ellis','harrison','gibson','mcdonald','marshall' \
|
12
|
+
,'murray','freeman','wells','webb','simpson','stevens','tucker','porter','hunter','hicks','crawford','henry','boyd','mason','morales','kennedy' \
|
13
|
+
,'warren','dixon','ramos','reyes','burns','gordon','shaw','holmes','rice','robertson','hunt','black','daniels','palmer','mills','nichols','grant' \
|
14
|
+
,'knight','ferguson','rose','stone','hawkins','dunn','perkins','hudson','spencer','gardner','stephens','payne','pierce','berry','matthews' \
|
15
|
+
,'arnold','wagner','willis','ray','watkins','olson','carroll','duncan','snyder' \
|
16
|
+
]
|
17
|
+
|
18
|
+
@@first_names = \
|
19
|
+
['james','john','robert','michael','william','david','richard','charles','joseph','thomas','christopher','daniel','paul','mark','donald','george' \
|
20
|
+
,'kenneth','steven','edward','brian','ronald','anthony','kevin','jason','matthew','gary','timothy','jose','larry','jeffrey','frank','scott','eric' \
|
21
|
+
,'stephen','andrew','raymond','gregory','joshua','jerry','dennis','walter','patrick','peter','harold','douglas','henry','carl','arthur','ryan' \
|
22
|
+
,'roger','joe','juan','jack','albert','jonathan','justin','terry','gerald','keith','samuel','willie','ralph','lawrence','nicholas','roy','benjamin' \
|
23
|
+
,'bruce','brandon','adam','harry','fred','wayne','billy','steve','louis','jeremy','aaron','randy','howard','eugene','carlos','russell','bobby','victor' \
|
24
|
+
,'martin','ernest','phillip','todd','jesse','craig','alan','shawn','clarence','sean','philip','chris','johnny','earl','jimmy','antonio','danny','bryan' \
|
25
|
+
,'tony','luis','mike','stanley','leonard','nathan','dale','manuel','rodney','curtis','norman','allen','marvin','vincent','glenn','jeffery','travis' \
|
26
|
+
,'jeff','chad','jacob','lee','alfred','kyle','francis','bradley','herbert','frederick','ray','joel','edwin','don','eddie','ricky','troy' \
|
27
|
+
,'randall','barry','alexander','bernard','mario','leroy','francisco','marcus','micheal','theodore','clifford','oscar','jay','jim','tom','calvin' \
|
28
|
+
,'alex','jon','mary','patricia','linda','barbara','elizabeth','jennifer','maria','susan','margaret','dorothy','lisa','nancy','karen','betty','helen' \
|
29
|
+
,'sandra','donna','carol','ruth','sharon','michelle','laura','sarah','kimberly','deborah','jessica','shirley','cynthia','angela','melissa','brenda' \
|
30
|
+
,'amy','anna','rebecca','virginia','kathleen','pamela','martha','debra','amanda','stephanie','carolyn','christine','marie','janet','catherine','frances' \
|
31
|
+
,'ann','joyce','diane','alice','julie','heather','teresa','doris','gloria','evelyn','jean','cheryl','mildred','katherine','joan','ashley','judith' \
|
32
|
+
,'rose','janice','kelly','nicole','judy','christina','kathy','theresa','beverly','denise','tammy','irene','jane','lori','rachel','marilyn','andrea' \
|
33
|
+
,'kathryn','louise','sara','anne','jacqueline','wanda','bonnie','julia','ruby','lois','tina','phyllis','norma','paula','diana','annie','lillian','emily','robin' \
|
34
|
+
,'peggy','crystal','gladys','rita','dawn','connie','florence','tracy','edna','tiffany','carmen','rosa','cindy','grace','wendy','victoria','edith','kim' \
|
35
|
+
,'sherry','sylvia','josephine','thelma','shannon','sheila','ethel','ellen','elaine','marjorie','carrie','charlotte','monica','esther','pauline','emma' \
|
36
|
+
,'juanita','anita','rhonda','hazel','amber','eva','debbie','april','leslie','clara','lucille','jamie','joanne','eleanor','valerie','danielle','megan' \
|
37
|
+
,'alicia','suzanne','michele','gail','bertha','darlene','veronica','jill','erin','geraldine','lauren','cathy','joann','lorraine','lynn','sally','regina' \
|
38
|
+
,'erica','beatrice','dolores','bernice','audrey','yvonne','annette','june','samantha','marion','dana','stacy','ana','renee','ida','vivian','roberta' \
|
39
|
+
,'holly','brittany','melanie','loretta','yolanda','jeanette','laurie','katie','kristen','vanessa','alma','sue','elsie','beth','jeanne','vicki','carla' \
|
40
|
+
,'tara','rosemary','eileen','terri','gertrude','lucy','tonya'
|
41
|
+
]
|
42
|
+
|
43
|
+
@@ssn_group_order = [1,3,5,7,9,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,2,4,6,8,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99]
|
44
|
+
|
45
|
+
@@ssn_highgroups = \
|
46
|
+
[[1,[752,753]] \
|
47
|
+
,[3,[588,761,762,763]] \
|
48
|
+
,[4,[2,3,222,349,350,351,352,353,354,355,356,357,358,359,360,361]] \
|
49
|
+
,[5,[756,757,758,759,760]] \
|
50
|
+
,[6,[1,7,221,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348]] \
|
51
|
+
,[7,[691,692,693,694,695,696,697,698,699,751]] \
|
52
|
+
,[8,[4,5,6,48,49,637,638,639,640,641,642,643,644,645]] \
|
53
|
+
,[9,[732,733,750]] \
|
54
|
+
,[10,[727,729,730,731]] \
|
55
|
+
,[11,[40,41,42,43,44,45,46,47,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,627,628,629,630,631,632,633,634,635,636]] \
|
56
|
+
,[12,[678,679,682,683,684,685,686,687,688,689,690]] \
|
57
|
+
,[13,[268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285]] \
|
58
|
+
,[14,[661,662,663,664,665,676,677,681,728]] \
|
59
|
+
,[16,[659,660]] \
|
60
|
+
,[17,[144,145,146,147,148,149,150,151,152,153,154,155,156,157,158]] \
|
61
|
+
,[18,[700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,725,726]] \
|
62
|
+
,[19,[135,136,137,138,139,140,141,142,143]] \
|
63
|
+
,[21,[447,448]] \
|
64
|
+
,[23,[440,441,442,443,444,445,446,496,497,498,499,500]] \
|
65
|
+
,[24,[658]] \
|
66
|
+
,[25,[486,487,488,489,490,491,492,493,494,495]] \
|
67
|
+
,[26,[654,655,656,657]] \
|
68
|
+
,[27,[393,394,395,396,397,398,399,509,510,511,512,513,514,515]] \
|
69
|
+
,[28,[724]] \
|
70
|
+
,[29,[387,388,389,390,391,392]] \
|
71
|
+
,[31,[304,305,306,307,308,309,310,311,312,313,314,315,316,317]] \
|
72
|
+
,[32,[674,675]] \
|
73
|
+
,[33,[303,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,501,502]] \
|
74
|
+
,[34,[667,668,669,670,671,672,673]] \
|
75
|
+
,[35,[362,363,364,485]] \
|
76
|
+
,[37,[478,479,480,481,482,483,484,580]] \
|
77
|
+
,[39,[504]] \
|
78
|
+
,[41,[503]] \
|
79
|
+
,[43,[517,579]] \
|
80
|
+
,[44,[648,649,652,653]] \
|
81
|
+
,[45,[516,577,578]] \
|
82
|
+
,[46,[650,651]] \
|
83
|
+
,[49,[470,471,472,473,474,475,476,477,574]] \
|
84
|
+
,[51,[468,469,506,507,508]] \
|
85
|
+
,[53,[232,233,234,235,236,505,520]] \
|
86
|
+
,[61,[416,417,418,419,420,421,422,423,424,532,533,534,535,536,537,538,539,586]] \
|
87
|
+
,[62,[768,769,770,771,772]] \
|
88
|
+
,[63,[531,615,616,617,618,619,620,621,622,623,624,625,626]] \
|
89
|
+
,[64,[766,767]] \
|
90
|
+
,[65,[407,602,603,604,605,606,607,608,609,610,611,612,613,614]] \
|
91
|
+
,[67,[400,401,402,403,404,405,406]] \
|
92
|
+
,[70,[39]] \
|
93
|
+
,[72,[35,36,37,38]] \
|
94
|
+
,[73,[540,541,542,543,544]] \
|
95
|
+
,[77,[218,219,220,518,519]] \
|
96
|
+
,[79,[212,213,214,215,216,217]] \
|
97
|
+
,[80,[764,765]] \
|
98
|
+
,[82,[180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,599]] \
|
99
|
+
,[84,[159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,596,597,598]] \
|
100
|
+
,[88,[28,29,30,31,32,33,34]] \
|
101
|
+
,[90,[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,680]] \
|
102
|
+
,[94,[114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,647]] \
|
103
|
+
,[96,[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,646]] \
|
104
|
+
,[99,[223,224,225,226,227,228,229,230,231,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,408,409,410,411,412,413,414,415,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,521,522,523,524,525,526,527,528,529,530,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,575,576,581,582,583,584,585,587,589,590,591,592,593,594,595,600,601]] \
|
105
|
+
]
|
106
|
+
|
107
|
+
@@email_domains = \
|
108
|
+
['yahoo', 'gmail', 'aol', 'hotmail', 'gmail', 'inbox', 'juno', 'email', 'fastmail', 'slowmail', 'netmail', 'gmail','xmission','earthlink','secret','blah' \
|
109
|
+
,'geekland','techworld','lavaland','moonsarecool','excite','bellsouth','netzero','sbcglobal','netscape','charter','hushmail','comcast','msn','verizon','att' \
|
110
|
+
,'peoplepc'
|
111
|
+
]
|
112
|
+
|
113
|
+
@@email_tlds = ['com','net','org','info','biz','tv','us','name','cc','cn','com.cn','net.cn','org.cn','ws']
|
114
|
+
|
115
|
+
@@cities = \
|
116
|
+
['Tacoma','Montgomery','Tucson','Riverside','Bakersfield','Austin','Portland','Minneapolis','Baton Rouge','Stockton','St Louis','San Antonio' \
|
117
|
+
,'Oakland','Albuquerque','Seattle','Fresno','Birmingham','San Francisco','Long Beach','Dallas','Philadelphia','Phoenix','San Jose','Milwaukee' \
|
118
|
+
,'Kansas City','Sacramento','Houston','San Diego','Los Angeles'
|
119
|
+
]
|
120
|
+
|
121
|
+
@@street_names = ['Park','Main','Oak','Pine','Oak','Pine','Maple','Cedar','Elm','Washington','Lake','Hill','Sunset','Broadway','Harrison','Higgins','Lincoln']
|
122
|
+
|
123
|
+
@@street_types = ['Ave','Blvd','Ctr','Cir','Ct','Dr','Grv','Jct','Ln','Mnr','Mtn','Pkwy','Sq','St']
|
124
|
+
|
125
|
+
@@bank_routing_numbers = \
|
126
|
+
['065000090','081000032','091000019','111000025','111900659','121000358','121042882','121122676','122000247','122000496','122000661','122101706' \
|
127
|
+
,'125000024','256074974','291070001','322271627','325070760','303986313','296073414'
|
128
|
+
]
|
129
|
+
|
130
|
+
@@employers = ['Google', 'Geeks R Us', 'Home Depot', 'Wal-Mart', 'Shopko', "Wendy's", "Staples", "E-Bay", "McDonald's", "Computer World", "OfficeMax"]
|
131
|
+
|
132
|
+
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
require 'date'
|
2
|
+
require 'doh/data/bulk'
|
3
|
+
|
4
|
+
module DohData
|
5
|
+
|
6
|
+
def self.random_first_name
|
7
|
+
random_element(@@first_names)
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.random_last_name
|
11
|
+
random_element(@@last_names)
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.random_full_name
|
15
|
+
random_first_name + ' ' + random_last_name
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.random_email(first_name = nil, last_name = nil)
|
19
|
+
if first_name || last_name
|
20
|
+
name = ''
|
21
|
+
name += first_name.slice(0, random_element(1, 1, 1, 1, first_name.size)) if first_name
|
22
|
+
name += random_element('', '.') if first_name && last_name
|
23
|
+
name += last_name.slice(0, random_element(1, last_name.size, last_name.size)) if last_name
|
24
|
+
name += random_range(11, 358).to_s
|
25
|
+
else
|
26
|
+
name = random_letters(random_range(3, 12))
|
27
|
+
end
|
28
|
+
name + '@' + random_element(@@email_domains) + '.' + random_element(@@email_tlds)
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.random_ssn
|
32
|
+
random_row = random_array_element(@@ssn_highgroups)
|
33
|
+
highgroup = random_row[0]
|
34
|
+
area = random_element(random_row[1])
|
35
|
+
highgroup_index = @@ssn_group_order.index(highgroup)
|
36
|
+
possible_groups = @@ssn_group_order.slice(0..highgroup_index)
|
37
|
+
group = random_element(possible_groups)
|
38
|
+
area.to_s.rjust(3, '0') + group.to_s.rjust(2, '0') + random_range(1, 9999).to_s.rjust(4, '0')
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.random_city
|
42
|
+
random_element(@@cities)
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.random_street_name
|
46
|
+
random_element(@@street_names)
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.random_street_type
|
50
|
+
random_element(@@street_types)
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.random_street_number
|
54
|
+
weight = rand(10)
|
55
|
+
if weight > 8
|
56
|
+
rand(50000)
|
57
|
+
elsif weight > 5
|
58
|
+
rand(10000)
|
59
|
+
elsif weight > 3
|
60
|
+
rand(1000)
|
61
|
+
else
|
62
|
+
rand(100)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def self.random_street
|
67
|
+
random_street_number.to_s + ' ' + random_element('N','E','S','W') + ' ' + random_street_name + ' ' + random_street_type
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.random_birthday
|
71
|
+
Date.new(1928 + rand(56), rand(12) + 1, rand(27) + 1)
|
72
|
+
end
|
73
|
+
|
74
|
+
def self.random_bank_routing_number
|
75
|
+
random_element(@@bank_routing_numbers)
|
76
|
+
end
|
77
|
+
|
78
|
+
def self.random_bank_account_number(max_size = 17)
|
79
|
+
random_digits(random_range(5, max_size))
|
80
|
+
end
|
81
|
+
|
82
|
+
def self.random_employer_name
|
83
|
+
random_element(@@employers)
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
data/lib/doh/data.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dohruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Makani & Kem Mason
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-04-
|
12
|
+
date: 2008-04-18 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -42,6 +42,11 @@ files:
|
|
42
42
|
- lib/doh/core/dir.rb
|
43
43
|
- lib/doh/core/string.rb
|
44
44
|
- lib/doh/core.rb
|
45
|
+
- lib/doh/data
|
46
|
+
- lib/doh/data/basic.rb
|
47
|
+
- lib/doh/data/bulk.rb
|
48
|
+
- lib/doh/data/human.rb
|
49
|
+
- lib/doh/data.rb
|
45
50
|
- lib/doh/logger
|
46
51
|
- lib/doh/logger/direct_scheduler.rb
|
47
52
|
- lib/doh/logger/event.rb
|