babynames 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.1.0
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{babynames}
8
- s.version = "0.0.1"
8
+ s.version = "0.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jordan Carter"]
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
27
27
  "babynames.gemspec",
28
28
  "lib/babynames.rb",
29
29
  "lib/data/female_names.txt",
30
+ "lib/data/last_names.txt",
30
31
  "lib/data/male_names.txt",
31
32
  "test/helper.rb",
32
33
  "test/test_babynames.rb"
@@ -1,79 +1,143 @@
1
1
  module BabyNames
2
+ class << self
3
+
4
+ def probability_of_male(z=0.51219512195122)
5
+ @probability_of_male ||= z
6
+ end
2
7
 
3
- def self.probability_of_male(z=0.51219512195122)
4
- @probability_of_male ||= z
5
- end
6
-
7
- # Set the seed or use randomly
8
- def self.seed(s=nil)
9
- if s.nil?
10
- if @seed.nil?
11
- @seed = (rand * 10000).to_i
8
+ # Set the seed or use randomly
9
+ def seed(s=nil)
10
+ if s.nil?
11
+ if @seed.nil?
12
+ @seed = (rand * 10000).to_i
13
+ srand(@seed)
14
+ @seed
15
+ else
16
+ @seed
17
+ end
18
+ else
19
+ @seed = s
12
20
  srand(@seed)
13
- @seed
21
+ end
22
+ end
23
+
24
+ def person(gender=male_or_female?)
25
+ f = first_name(gender)
26
+ m = middle_name(gender)
27
+ l = last_name
28
+ Person.new(:first_name => f,
29
+ :middle_name => m,
30
+ :last_name => l,
31
+ :email => email_for(f,l,m),
32
+ :gender => gender)
33
+ end
34
+
35
+ def email(gender=nil)
36
+ f, l = persons_name(gender)
37
+ email_for(f,l)
38
+ end
39
+
40
+ def email_for(f,l,m=nil)
41
+ if m.nil?
42
+ r ["#{f.downcase}.#{l.downcase}@#{domain}",
43
+ "#{f.split('').first.downcase}.#{l.downcase}@#{domain}"]
14
44
  else
15
- @seed
45
+ r ["#{f.downcase}.#{l.downcase}@#{domain}",
46
+ "#{f.downcase}.#{m.split('').first.downcase}.#{l.downcase}@#{domain}",
47
+ "#{f.split('').first.downcase}.#{l.downcase}@#{domain}",
48
+ "#{f.split('').first.downcase}.#{m.split('').first.downcase}.#{l.downcase}@#{domain}",
49
+ "#{f.split('').first.downcase}#{m.split('').first.downcase}#{l.downcase}@#{domain}"]
16
50
  end
17
- else
18
- @seed = s
19
- srand(@seed)
20
51
  end
21
- end
22
52
 
23
- def self.email
24
- f, l = persons_name
25
- "#{f}.#{l}@#{domain}"
26
- end
53
+ def persons_name(gender=nil)
54
+ gender ||= male_or_female?
55
+ [first_name(gender), last_name]
56
+ end
57
+
58
+ def male_or_female?
59
+ rand > probability_of_male ? :female : :male
60
+ end
61
+
62
+ def middle_name(gender=nil)
63
+ first_name(gender)
64
+ end
65
+
66
+ def first_name(gender = nil)
67
+ if gender
68
+ (gender == :male ? male_names : female_names).shuffle.first
69
+ else
70
+ names.shuffle.first
71
+ end
72
+ end
27
73
 
28
- def self.persons_name
29
- gender = rand > probability_of_male ? :female : :male
30
- [first_name(gender), last_name]
31
- end
74
+ def name
75
+ r names
76
+ end
32
77
 
33
- def self.first_name(gender = nil)
34
- if gender
35
- (gender == :male ? male_names : female_names).shuffle.first
36
- else
37
- names.shuffle.first
78
+ def names
79
+ @names ||= male_names + female_names
38
80
  end
39
- end
40
81
 
41
- def self.name
42
- names.shuffle.first
43
- end
82
+ def female_name
83
+ r female_names
84
+ end
44
85
 
45
- def self.names
46
- @names ||= male_names + female_names
47
- end
48
-
49
- def self.female_names
50
- @female_names ||= read_lines("female_names")
51
- end
52
-
53
- def self.male_names
54
- @male_names ||= read_lines("male_names")
55
- end
86
+ def female_names
87
+ @female_names ||= read_lines("female_names")
88
+ end
89
+
90
+ def male_name
91
+ r male_names
92
+ end
93
+
94
+ def male_names
95
+ @male_names ||= read_lines("male_names")
96
+ end
56
97
 
57
- def self.last_name
58
- last_names.shuffle.first
59
- end
98
+ def last_name
99
+ r last_names
100
+ end
60
101
 
61
- def self.last_names
62
- @last_names ||= read_lines("last_names")
63
- end
102
+ def last_names
103
+ @last_names ||= read_lines("last_names")
104
+ end
64
105
 
65
- def self.domain
66
- domains.shuffle.first
67
- end
106
+ def domain
107
+ r domains
108
+ end
68
109
 
69
- def self.domains
70
- @domains ||= ["gmail.com", "yahoo.com", "msn.com", "hotmail.com", "github.com"]
71
- end
110
+ def domains
111
+ @domains ||= ["gmail.com", "yahoo.com", "msn.com", "hotmail.com"]
112
+ end
113
+
114
+ protected
72
115
 
73
- protected
116
+ def read_lines(file_name)
117
+ file = "lib/data/#{file_name}.txt"
118
+ File.read(file).split("\n").collect(&:capitalize)
119
+ end
120
+
121
+ def r(array)
122
+ array[rand(array.size)]
123
+ end
124
+ end
74
125
 
75
- def self.read_lines(file_name)
76
- file = "lib/data/#{file_name}.txt"
77
- File.read(file).split("\n")
126
+ class Person
127
+ attr_accessor :first_name, :last_name, :middle_name, :email, :gender
128
+
129
+ def initialize(params)
130
+ params.each do |key, value|
131
+ send("#{key}=", value)
132
+ end
133
+ end
134
+
135
+ def male?
136
+ gender == :male
137
+ end
138
+
139
+ def female?
140
+ !male?
141
+ end
78
142
  end
79
143
  end
@@ -0,0 +1,1000 @@
1
+ SMITH
2
+ JOHNSON
3
+ WILLIAMS
4
+ JONES
5
+ BROWN
6
+ DAVIS
7
+ MILLER
8
+ WILSON
9
+ MOORE
10
+ TAYLOR
11
+ ANDERSON
12
+ THOMAS
13
+ JACKSON
14
+ WHITE
15
+ HARRIS
16
+ MARTIN
17
+ THOMPSON
18
+ GARCIA
19
+ MARTINEZ
20
+ ROBINSON
21
+ CLARK
22
+ RODRIGUEZ
23
+ LEWIS
24
+ LEE
25
+ WALKER
26
+ HALL
27
+ ALLEN
28
+ YOUNG
29
+ HERNANDEZ
30
+ KING
31
+ WRIGHT
32
+ LOPEZ
33
+ HILL
34
+ SCOTT
35
+ GREEN
36
+ ADAMS
37
+ BAKER
38
+ GONZALEZ
39
+ NELSON
40
+ CARTER
41
+ MITCHELL
42
+ PEREZ
43
+ ROBERTS
44
+ TURNER
45
+ PHILLIPS
46
+ CAMPBELL
47
+ PARKER
48
+ EVANS
49
+ EDWARDS
50
+ COLLINS
51
+ STEWART
52
+ SANCHEZ
53
+ MORRIS
54
+ ROGERS
55
+ REED
56
+ COOK
57
+ MORGAN
58
+ BELL
59
+ MURPHY
60
+ BAILEY
61
+ RIVERA
62
+ COOPER
63
+ RICHARDSON
64
+ COX
65
+ HOWARD
66
+ WARD
67
+ TORRES
68
+ PETERSON
69
+ GRAY
70
+ RAMIREZ
71
+ JAMES
72
+ WATSON
73
+ BROOKS
74
+ KELLY
75
+ SANDERS
76
+ PRICE
77
+ BENNETT
78
+ WOOD
79
+ BARNES
80
+ ROSS
81
+ HENDERSON
82
+ COLEMAN
83
+ JENKINS
84
+ PERRY
85
+ POWELL
86
+ LONG
87
+ PATTERSON
88
+ HUGHES
89
+ FLORES
90
+ WASHINGTON
91
+ BUTLER
92
+ SIMMONS
93
+ FOSTER
94
+ GONZALES
95
+ BRYANT
96
+ ALEXANDER
97
+ RUSSELL
98
+ GRIFFIN
99
+ DIAZ
100
+ HAYES
101
+ MYERS
102
+ FORD
103
+ HAMILTON
104
+ GRAHAM
105
+ SULLIVAN
106
+ WALLACE
107
+ WOODS
108
+ COLE
109
+ WEST
110
+ JORDAN
111
+ OWENS
112
+ REYNOLDS
113
+ FISHER
114
+ ELLIS
115
+ HARRISON
116
+ GIBSON
117
+ MCDONALD
118
+ CRUZ
119
+ MARSHALL
120
+ ORTIZ
121
+ GOMEZ
122
+ MURRAY
123
+ FREEMAN
124
+ WELLS
125
+ WEBB
126
+ SIMPSON
127
+ STEVENS
128
+ TUCKER
129
+ PORTER
130
+ HUNTER
131
+ HICKS
132
+ CRAWFORD
133
+ HENRY
134
+ BOYD
135
+ MASON
136
+ MORALES
137
+ KENNEDY
138
+ WARREN
139
+ DIXON
140
+ RAMOS
141
+ REYES
142
+ BURNS
143
+ GORDON
144
+ SHAW
145
+ HOLMES
146
+ RICE
147
+ ROBERTSON
148
+ HUNT
149
+ BLACK
150
+ DANIELS
151
+ PALMER
152
+ MILLS
153
+ NICHOLS
154
+ GRANT
155
+ KNIGHT
156
+ FERGUSON
157
+ ROSE
158
+ STONE
159
+ HAWKINS
160
+ DUNN
161
+ PERKINS
162
+ HUDSON
163
+ SPENCER
164
+ GARDNER
165
+ STEPHENS
166
+ PAYNE
167
+ PIERCE
168
+ BERRY
169
+ MATTHEWS
170
+ ARNOLD
171
+ WAGNER
172
+ WILLIS
173
+ RAY
174
+ WATKINS
175
+ OLSON
176
+ CARROLL
177
+ DUNCAN
178
+ SNYDER
179
+ HART
180
+ CUNNINGHAM
181
+ BRADLEY
182
+ LANE
183
+ ANDREWS
184
+ RUIZ
185
+ HARPER
186
+ FOX
187
+ RILEY
188
+ ARMSTRONG
189
+ CARPENTER
190
+ WEAVER
191
+ GREENE
192
+ LAWRENCE
193
+ ELLIOTT
194
+ CHAVEZ
195
+ SIMS
196
+ AUSTIN
197
+ PETERS
198
+ KELLEY
199
+ FRANKLIN
200
+ LAWSON
201
+ FIELDS
202
+ GUTIERREZ
203
+ RYAN
204
+ SCHMIDT
205
+ CARR
206
+ VASQUEZ
207
+ CASTILLO
208
+ WHEELER
209
+ CHAPMAN
210
+ OLIVER
211
+ MONTGOMERY
212
+ RICHARDS
213
+ WILLIAMSON
214
+ JOHNSTON
215
+ BANKS
216
+ MEYER
217
+ BISHOP
218
+ MCCOY
219
+ HOWELL
220
+ ALVAREZ
221
+ MORRISON
222
+ HANSEN
223
+ FERNANDEZ
224
+ GARZA
225
+ HARVEY
226
+ LITTLE
227
+ BURTON
228
+ STANLEY
229
+ NGUYEN
230
+ GEORGE
231
+ JACOBS
232
+ REID
233
+ KIM
234
+ FULLER
235
+ LYNCH
236
+ DEAN
237
+ GILBERT
238
+ GARRETT
239
+ ROMERO
240
+ WELCH
241
+ LARSON
242
+ FRAZIER
243
+ BURKE
244
+ HANSON
245
+ DAY
246
+ MENDOZA
247
+ MORENO
248
+ BOWMAN
249
+ MEDINA
250
+ FOWLER
251
+ BREWER
252
+ HOFFMAN
253
+ CARLSON
254
+ SILVA
255
+ PEARSON
256
+ HOLLAND
257
+ DOUGLAS
258
+ FLEMING
259
+ JENSEN
260
+ VARGAS
261
+ BYRD
262
+ DAVIDSON
263
+ HOPKINS
264
+ MAY
265
+ TERRY
266
+ HERRERA
267
+ WADE
268
+ SOTO
269
+ WALTERS
270
+ CURTIS
271
+ NEAL
272
+ CALDWELL
273
+ LOWE
274
+ JENNINGS
275
+ BARNETT
276
+ GRAVES
277
+ JIMENEZ
278
+ HORTON
279
+ SHELTON
280
+ BARRETT
281
+ OBRIEN
282
+ CASTRO
283
+ SUTTON
284
+ GREGORY
285
+ MCKINNEY
286
+ LUCAS
287
+ MILES
288
+ CRAIG
289
+ RODRIQUEZ
290
+ CHAMBERS
291
+ HOLT
292
+ LAMBERT
293
+ FLETCHER
294
+ WATTS
295
+ BATES
296
+ HALE
297
+ RHODES
298
+ PENA
299
+ BECK
300
+ NEWMAN
301
+ HAYNES
302
+ MCDANIEL
303
+ MENDEZ
304
+ BUSH
305
+ VAUGHN
306
+ PARKS
307
+ DAWSON
308
+ SANTIAGO
309
+ NORRIS
310
+ HARDY
311
+ LOVE
312
+ STEELE
313
+ CURRY
314
+ POWERS
315
+ SCHULTZ
316
+ BARKER
317
+ GUZMAN
318
+ PAGE
319
+ MUNOZ
320
+ BALL
321
+ KELLER
322
+ CHANDLER
323
+ WEBER
324
+ LEONARD
325
+ WALSH
326
+ LYONS
327
+ RAMSEY
328
+ WOLFE
329
+ SCHNEIDER
330
+ MULLINS
331
+ BENSON
332
+ SHARP
333
+ BOWEN
334
+ DANIEL
335
+ BARBER
336
+ CUMMINGS
337
+ HINES
338
+ BALDWIN
339
+ GRIFFITH
340
+ VALDEZ
341
+ HUBBARD
342
+ SALAZAR
343
+ REEVES
344
+ WARNER
345
+ STEVENSON
346
+ BURGESS
347
+ SANTOS
348
+ TATE
349
+ CROSS
350
+ GARNER
351
+ MANN
352
+ MACK
353
+ MOSS
354
+ THORNTON
355
+ DENNIS
356
+ MCGEE
357
+ FARMER
358
+ DELGADO
359
+ AGUILAR
360
+ VEGA
361
+ GLOVER
362
+ MANNING
363
+ COHEN
364
+ HARMON
365
+ RODGERS
366
+ ROBBINS
367
+ NEWTON
368
+ TODD
369
+ BLAIR
370
+ HIGGINS
371
+ INGRAM
372
+ REESE
373
+ CANNON
374
+ STRICKLAND
375
+ TOWNSEND
376
+ POTTER
377
+ GOODWIN
378
+ WALTON
379
+ ROWE
380
+ HAMPTON
381
+ ORTEGA
382
+ PATTON
383
+ SWANSON
384
+ JOSEPH
385
+ FRANCIS
386
+ GOODMAN
387
+ MALDONADO
388
+ YATES
389
+ BECKER
390
+ ERICKSON
391
+ HODGES
392
+ RIOS
393
+ CONNER
394
+ ADKINS
395
+ WEBSTER
396
+ NORMAN
397
+ MALONE
398
+ HAMMOND
399
+ FLOWERS
400
+ COBB
401
+ MOODY
402
+ QUINN
403
+ BLAKE
404
+ MAXWELL
405
+ POPE
406
+ FLOYD
407
+ OSBORNE
408
+ PAUL
409
+ MCCARTHY
410
+ GUERRERO
411
+ LINDSEY
412
+ ESTRADA
413
+ SANDOVAL
414
+ GIBBS
415
+ TYLER
416
+ GROSS
417
+ FITZGERALD
418
+ STOKES
419
+ DOYLE
420
+ SHERMAN
421
+ SAUNDERS
422
+ WISE
423
+ COLON
424
+ GILL
425
+ ALVARADO
426
+ GREER
427
+ PADILLA
428
+ SIMON
429
+ WATERS
430
+ NUNEZ
431
+ BALLARD
432
+ SCHWARTZ
433
+ MCBRIDE
434
+ HOUSTON
435
+ CHRISTENSEN
436
+ KLEIN
437
+ PRATT
438
+ BRIGGS
439
+ PARSONS
440
+ MCLAUGHLIN
441
+ ZIMMERMAN
442
+ FRENCH
443
+ BUCHANAN
444
+ MORAN
445
+ COPELAND
446
+ ROY
447
+ PITTMAN
448
+ BRADY
449
+ MCCORMICK
450
+ HOLLOWAY
451
+ BROCK
452
+ POOLE
453
+ FRANK
454
+ LOGAN
455
+ OWEN
456
+ BASS
457
+ MARSH
458
+ DRAKE
459
+ WONG
460
+ JEFFERSON
461
+ PARK
462
+ MORTON
463
+ ABBOTT
464
+ SPARKS
465
+ PATRICK
466
+ NORTON
467
+ HUFF
468
+ CLAYTON
469
+ MASSEY
470
+ LLOYD
471
+ FIGUEROA
472
+ CARSON
473
+ BOWERS
474
+ ROBERSON
475
+ BARTON
476
+ TRAN
477
+ LAMB
478
+ HARRINGTON
479
+ CASEY
480
+ BOONE
481
+ CORTEZ
482
+ CLARKE
483
+ MATHIS
484
+ SINGLETON
485
+ WILKINS
486
+ CAIN
487
+ BRYAN
488
+ UNDERWOOD
489
+ HOGAN
490
+ MCKENZIE
491
+ COLLIER
492
+ LUNA
493
+ PHELPS
494
+ MCGUIRE
495
+ ALLISON
496
+ BRIDGES
497
+ WILKERSON
498
+ NASH
499
+ SUMMERS
500
+ ATKINS
501
+ WILCOX
502
+ PITTS
503
+ CONLEY
504
+ MARQUEZ
505
+ BURNETT
506
+ RICHARD
507
+ COCHRAN
508
+ CHASE
509
+ DAVENPORT
510
+ HOOD
511
+ GATES
512
+ CLAY
513
+ AYALA
514
+ SAWYER
515
+ ROMAN
516
+ VAZQUEZ
517
+ DICKERSON
518
+ HODGE
519
+ ACOSTA
520
+ FLYNN
521
+ ESPINOZA
522
+ NICHOLSON
523
+ MONROE
524
+ WOLF
525
+ MORROW
526
+ KIRK
527
+ RANDALL
528
+ ANTHONY
529
+ WHITAKER
530
+ OCONNOR
531
+ SKINNER
532
+ WARE
533
+ MOLINA
534
+ KIRBY
535
+ HUFFMAN
536
+ BRADFORD
537
+ CHARLES
538
+ GILMORE
539
+ DOMINGUEZ
540
+ ONEAL
541
+ BRUCE
542
+ LANG
543
+ COMBS
544
+ KRAMER
545
+ HEATH
546
+ HANCOCK
547
+ GALLAGHER
548
+ GAINES
549
+ SHAFFER
550
+ SHORT
551
+ WIGGINS
552
+ MATHEWS
553
+ MCCLAIN
554
+ FISCHER
555
+ WALL
556
+ SMALL
557
+ MELTON
558
+ HENSLEY
559
+ BOND
560
+ DYER
561
+ CAMERON
562
+ GRIMES
563
+ CONTRERAS
564
+ CHRISTIAN
565
+ WYATT
566
+ BAXTER
567
+ SNOW
568
+ MOSLEY
569
+ SHEPHERD
570
+ LARSEN
571
+ HOOVER
572
+ BEASLEY
573
+ GLENN
574
+ PETERSEN
575
+ WHITEHEAD
576
+ MEYERS
577
+ KEITH
578
+ GARRISON
579
+ VINCENT
580
+ SHIELDS
581
+ HORN
582
+ SAVAGE
583
+ OLSEN
584
+ SCHROEDER
585
+ HARTMAN
586
+ WOODARD
587
+ MUELLER
588
+ KEMP
589
+ DELEON
590
+ BOOTH
591
+ PATEL
592
+ CALHOUN
593
+ WILEY
594
+ EATON
595
+ CLINE
596
+ NAVARRO
597
+ HARRELL
598
+ LESTER
599
+ HUMPHREY
600
+ PARRISH
601
+ DURAN
602
+ HUTCHINSON
603
+ HESS
604
+ DORSEY
605
+ BULLOCK
606
+ ROBLES
607
+ BEARD
608
+ DALTON
609
+ AVILA
610
+ VANCE
611
+ RICH
612
+ BLACKWELL
613
+ YORK
614
+ JOHNS
615
+ BLANKENSHIP
616
+ TREVINO
617
+ SALINAS
618
+ CAMPOS
619
+ PRUITT
620
+ MOSES
621
+ CALLAHAN
622
+ GOLDEN
623
+ MONTOYA
624
+ HARDIN
625
+ GUERRA
626
+ MCDOWELL
627
+ CAREY
628
+ STAFFORD
629
+ GALLEGOS
630
+ HENSON
631
+ WILKINSON
632
+ BOOKER
633
+ MERRITT
634
+ MIRANDA
635
+ ATKINSON
636
+ ORR
637
+ DECKER
638
+ HOBBS
639
+ PRESTON
640
+ TANNER
641
+ KNOX
642
+ PACHECO
643
+ STEPHENSON
644
+ GLASS
645
+ ROJAS
646
+ SERRANO
647
+ MARKS
648
+ HICKMAN
649
+ ENGLISH
650
+ SWEENEY
651
+ STRONG
652
+ PRINCE
653
+ MCCLURE
654
+ CONWAY
655
+ WALTER
656
+ ROTH
657
+ MAYNARD
658
+ FARRELL
659
+ LOWERY
660
+ HURST
661
+ NIXON
662
+ WEISS
663
+ TRUJILLO
664
+ ELLISON
665
+ SLOAN
666
+ JUAREZ
667
+ WINTERS
668
+ MCLEAN
669
+ RANDOLPH
670
+ LEON
671
+ BOYER
672
+ VILLARREAL
673
+ MCCALL
674
+ GENTRY
675
+ CARRILLO
676
+ KENT
677
+ AYERS
678
+ LARA
679
+ SHANNON
680
+ SEXTON
681
+ PACE
682
+ HULL
683
+ LEBLANC
684
+ BROWNING
685
+ VELASQUEZ
686
+ LEACH
687
+ CHANG
688
+ HOUSE
689
+ SELLERS
690
+ HERRING
691
+ NOBLE
692
+ FOLEY
693
+ BARTLETT
694
+ MERCADO
695
+ LANDRY
696
+ DURHAM
697
+ WALLS
698
+ BARR
699
+ MCKEE
700
+ BAUER
701
+ RIVERS
702
+ EVERETT
703
+ BRADSHAW
704
+ PUGH
705
+ VELEZ
706
+ RUSH
707
+ ESTES
708
+ DODSON
709
+ MORSE
710
+ SHEPPARD
711
+ WEEKS
712
+ CAMACHO
713
+ BEAN
714
+ BARRON
715
+ LIVINGSTON
716
+ MIDDLETON
717
+ SPEARS
718
+ BRANCH
719
+ BLEVINS
720
+ CHEN
721
+ KERR
722
+ MCCONNELL
723
+ HATFIELD
724
+ HARDING
725
+ ASHLEY
726
+ SOLIS
727
+ HERMAN
728
+ FROST
729
+ GILES
730
+ BLACKBURN
731
+ WILLIAM
732
+ PENNINGTON
733
+ WOODWARD
734
+ FINLEY
735
+ MCINTOSH
736
+ KOCH
737
+ BEST
738
+ SOLOMON
739
+ MCCULLOUGH
740
+ DUDLEY
741
+ NOLAN
742
+ BLANCHARD
743
+ RIVAS
744
+ BRENNAN
745
+ MEJIA
746
+ KANE
747
+ BENTON
748
+ JOYCE
749
+ BUCKLEY
750
+ HALEY
751
+ VALENTINE
752
+ MADDOX
753
+ RUSSO
754
+ MCKNIGHT
755
+ BUCK
756
+ MOON
757
+ MCMILLAN
758
+ CROSBY
759
+ BERG
760
+ DOTSON
761
+ MAYS
762
+ ROACH
763
+ CHURCH
764
+ CHAN
765
+ RICHMOND
766
+ MEADOWS
767
+ FAULKNER
768
+ ONEILL
769
+ KNAPP
770
+ KLINE
771
+ BARRY
772
+ OCHOA
773
+ JACOBSON
774
+ GAY
775
+ AVERY
776
+ HENDRICKS
777
+ HORNE
778
+ SHEPARD
779
+ HEBERT
780
+ CHERRY
781
+ CARDENAS
782
+ MCINTYRE
783
+ WHITNEY
784
+ WALLER
785
+ HOLMAN
786
+ DONALDSON
787
+ CANTU
788
+ TERRELL
789
+ MORIN
790
+ GILLESPIE
791
+ FUENTES
792
+ TILLMAN
793
+ SANFORD
794
+ BENTLEY
795
+ PECK
796
+ KEY
797
+ SALAS
798
+ ROLLINS
799
+ GAMBLE
800
+ DICKSON
801
+ BATTLE
802
+ SANTANA
803
+ CABRERA
804
+ CERVANTES
805
+ HOWE
806
+ HINTON
807
+ HURLEY
808
+ SPENCE
809
+ ZAMORA
810
+ YANG
811
+ MCNEIL
812
+ SUAREZ
813
+ CASE
814
+ PETTY
815
+ GOULD
816
+ MCFARLAND
817
+ SAMPSON
818
+ CARVER
819
+ BRAY
820
+ ROSARIO
821
+ MACDONALD
822
+ STOUT
823
+ HESTER
824
+ MELENDEZ
825
+ DILLON
826
+ FARLEY
827
+ HOPPER
828
+ GALLOWAY
829
+ POTTS
830
+ BERNARD
831
+ JOYNER
832
+ STEIN
833
+ AGUIRRE
834
+ OSBORN
835
+ MERCER
836
+ BENDER
837
+ FRANCO
838
+ ROWLAND
839
+ SYKES
840
+ BENJAMIN
841
+ TRAVIS
842
+ PICKETT
843
+ CRANE
844
+ SEARS
845
+ MAYO
846
+ DUNLAP
847
+ HAYDEN
848
+ WILDER
849
+ MCKAY
850
+ COFFEY
851
+ MCCARTY
852
+ EWING
853
+ COOLEY
854
+ VAUGHAN
855
+ BONNER
856
+ COTTON
857
+ HOLDER
858
+ STARK
859
+ FERRELL
860
+ CANTRELL
861
+ FULTON
862
+ LYNN
863
+ LOTT
864
+ CALDERON
865
+ ROSA
866
+ POLLARD
867
+ HOOPER
868
+ BURCH
869
+ MULLEN
870
+ FRY
871
+ RIDDLE
872
+ LEVY
873
+ DAVID
874
+ DUKE
875
+ ODONNELL
876
+ GUY
877
+ MICHAEL
878
+ BRITT
879
+ FREDERICK
880
+ DAUGHERTY
881
+ BERGER
882
+ DILLARD
883
+ ALSTON
884
+ JARVIS
885
+ FRYE
886
+ RIGGS
887
+ CHANEY
888
+ ODOM
889
+ DUFFY
890
+ FITZPATRICK
891
+ VALENZUELA
892
+ MERRILL
893
+ MAYER
894
+ ALFORD
895
+ MCPHERSON
896
+ ACEVEDO
897
+ DONOVAN
898
+ BARRERA
899
+ ALBERT
900
+ COTE
901
+ REILLY
902
+ COMPTON
903
+ RAYMOND
904
+ MOONEY
905
+ MCGOWAN
906
+ CRAFT
907
+ CLEVELAND
908
+ CLEMONS
909
+ WYNN
910
+ NIELSEN
911
+ BAIRD
912
+ STANTON
913
+ SNIDER
914
+ ROSALES
915
+ BRIGHT
916
+ WITT
917
+ STUART
918
+ HAYS
919
+ HOLDEN
920
+ RUTLEDGE
921
+ KINNEY
922
+ CLEMENTS
923
+ CASTANEDA
924
+ SLATER
925
+ HAHN
926
+ EMERSON
927
+ CONRAD
928
+ BURKS
929
+ DELANEY
930
+ PATE
931
+ LANCASTER
932
+ SWEET
933
+ JUSTICE
934
+ TYSON
935
+ SHARPE
936
+ WHITFIELD
937
+ TALLEY
938
+ MACIAS
939
+ IRWIN
940
+ BURRIS
941
+ RATLIFF
942
+ MCCRAY
943
+ MADDEN
944
+ KAUFMAN
945
+ BEACH
946
+ GOFF
947
+ CASH
948
+ BOLTON
949
+ MCFADDEN
950
+ LEVINE
951
+ GOOD
952
+ BYERS
953
+ KIRKLAND
954
+ KIDD
955
+ WORKMAN
956
+ CARNEY
957
+ DALE
958
+ MCLEOD
959
+ HOLCOMB
960
+ ENGLAND
961
+ FINCH
962
+ HEAD
963
+ BURT
964
+ HENDRIX
965
+ SOSA
966
+ HANEY
967
+ FRANKS
968
+ SARGENT
969
+ NIEVES
970
+ DOWNS
971
+ RASMUSSEN
972
+ BIRD
973
+ HEWITT
974
+ LINDSAY
975
+ LE
976
+ FOREMAN
977
+ VALENCIA
978
+ ONEIL
979
+ DELACRUZ
980
+ VINSON
981
+ DEJESUS
982
+ HYDE
983
+ FORBES
984
+ GILLIAM
985
+ GUTHRIE
986
+ WOOTEN
987
+ HUBER
988
+ BARLOW
989
+ BOYLE
990
+ MCMAHON
991
+ BUCKNER
992
+ ROCHA
993
+ PUCKETT
994
+ LANGLEY
995
+ KNOWLES
996
+ COOKE
997
+ VELAZQUEZ
998
+ WHITLEY
999
+ NOEL
1000
+ VANG
@@ -8,7 +8,7 @@ class TestBabynames < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  should "return an array of names" do
11
- [:names, :female_names, :male_names].each do |method|
11
+ [:names, :female_names, :male_names, :last_names].each do |method|
12
12
  names = BabyNames.send(method)
13
13
  assert names.size > 500
14
14
  assert names.collect{|n| n.size > 0 && n.is_a?(String)}
@@ -27,4 +27,20 @@ class TestBabynames < Test::Unit::TestCase
27
27
  assert BabyNames.name == name
28
28
  end
29
29
  end
30
+
31
+ should "return valid email" do
32
+ 1.upto(10) do
33
+ assert BabyNames.email.match(/^([^\s]+)((?:[-a-z0-9]\.)[a-z]{2,})$/i)
34
+ end
35
+ end
36
+
37
+ should "return person object" do
38
+ person = BabyNames.person
39
+ assert person.email.match(/^([^\s]+)((?:[-a-z0-9]\.)[a-z]{2,})$/i)
40
+ [:first_name, :middle_name, :last_name].each do |method|
41
+ assert person.send(method).size > 0
42
+ end
43
+ assert person.male?.is_a?(TrueClass) || person.male?.is_a?(FalseClass)
44
+ assert person.female? != person.male?
45
+ end
30
46
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: babynames
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 0
9
8
  - 1
10
- version: 0.0.1
9
+ - 0
10
+ version: 0.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jordan Carter
@@ -98,6 +98,7 @@ files:
98
98
  - babynames.gemspec
99
99
  - lib/babynames.rb
100
100
  - lib/data/female_names.txt
101
+ - lib/data/last_names.txt
101
102
  - lib/data/male_names.txt
102
103
  - test/helper.rb
103
104
  - test/test_babynames.rb