randomperson 1.0.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. data/.gitignore +5 -0
  2. data/.rspec +2 -0
  3. data/.travis.yml +9 -0
  4. data/{CHANGELOG → CHANGELOG.md} +11 -0
  5. data/Gemfile +4 -0
  6. data/README.markdown +10 -13
  7. data/Rakefile +15 -12
  8. data/lib/randomperson/demographic.rb +36 -19
  9. data/lib/randomperson/ext/{Array.rb → array.rb} +0 -5
  10. data/lib/randomperson/ext/date.rb +13 -0
  11. data/lib/randomperson/ext/{Enumerable.rb → enumerable.rb} +0 -0
  12. data/lib/randomperson/ext/{Hash.rb → hash.rb} +0 -0
  13. data/lib/randomperson/ext/{Kernel.rb → kernel.rb} +0 -0
  14. data/lib/randomperson/ext/set.rb +13 -0
  15. data/lib/randomperson/generator.rb +10 -3
  16. data/lib/randomperson/{Loader.rb → loader.rb} +7 -4
  17. data/lib/randomperson/name.rb +2 -1
  18. data/lib/randomperson/{Names/AmericanFemaleFirst.rb → names/american-female-first.rb} +2 -2
  19. data/lib/randomperson/{Names/AmericanLast.rb → names/american-last.rb} +4 -4
  20. data/lib/randomperson/{Names/AmericanMaleFirst.rb → names/american-male-first.rb} +2 -3
  21. data/lib/randomperson/{Names/AmericanPrefix.rb → names/american-prefix.rb} +1 -1
  22. data/lib/randomperson/{Names/AmericanSuffix.rb → names/american-suffix.rb} +1 -1
  23. data/lib/randomperson/{Names/AncientGreekFemaleFirst.rb → names/ancient-greek-female-first.rb} +2 -2
  24. data/lib/randomperson/{Names/AncientGreekLast.rb → names/ancient-greek-last.rb} +2 -2
  25. data/lib/randomperson/{Names/AncientGreekMaleFirst.rb → names/ancient-greek-male-first.rb} +2 -2
  26. data/lib/randomperson/names/any-last.rb +25 -0
  27. data/lib/randomperson/{Names/BasqueFemaleFirst.rb → names/basque-female-first.rb} +2 -2
  28. data/lib/randomperson/names/basque-last.rb +24 -0
  29. data/lib/randomperson/{Names/BasqueMaleFirst.rb → names/basque-male-first.rb} +2 -2
  30. data/lib/randomperson/{Names/BritishPrefix.rb → names/british-prefix.rb} +1 -1
  31. data/lib/randomperson/{Names/BritishSuffix.rb → names/british-suffix.rb} +1 -1
  32. data/lib/randomperson/{Names/EnglishFemaleFirst.rb → names/english-female-first.rb} +2 -2
  33. data/lib/randomperson/{Names/EnglishLast.rb → names/english-last.rb} +3 -3
  34. data/lib/randomperson/{Names/EnglishMaleFirst.rb → names/english-male-first.rb} +2 -2
  35. data/lib/randomperson/{Names/EnglishPrefix.rb → names/english-prefix.rb} +1 -1
  36. data/lib/randomperson/{Names/FinnishFemaleFirst.rb → names/finnish-female-first.rb} +2 -2
  37. data/lib/randomperson/{Names/FinnishLast.rb → names/finnish-last.rb} +2 -2
  38. data/lib/randomperson/{Names/FinnishMaleFirst.rb → names/finnish-male-first.rb} +2 -2
  39. data/lib/randomperson/{Names/FinnishPrefix.rb → names/finnish-prefix.rb} +1 -1
  40. data/lib/randomperson/{Names/FrenchFemaleFirst.rb → names/french-female-first.rb} +3 -3
  41. data/lib/randomperson/{Names/FrenchLast.rb → names/french-last.rb} +5 -5
  42. data/lib/randomperson/{Names/FrenchMaleFirst.rb → names/french-male-first.rb} +3 -3
  43. data/lib/randomperson/{Names/GermanFemaleFirst.rb → names/german-female-first.rb} +2 -2
  44. data/lib/randomperson/{Names/GermanLast.rb → names/german-last.rb} +2 -2
  45. data/lib/randomperson/{Names/GermanMaleFirst.rb → names/german-male-first.rb} +2 -2
  46. data/lib/randomperson/{Names/ScottishFemaleFirst.rb → names/scottish-female-first.rb} +2 -2
  47. data/lib/randomperson/{Names/ScottishLast.rb → names/scottish-last.rb} +3 -3
  48. data/lib/randomperson/{Names/ScottishMaleFirst.rb → names/scottish-male-first.rb} +2 -2
  49. data/lib/randomperson/{Names/ScottishPrefix.rb → names/scottish-prefix.rb} +1 -1
  50. data/lib/randomperson/names/spanish-female-first.rb +23 -0
  51. data/lib/randomperson/{Names/SpanishLast.rb → names/spanish-last.rb} +5 -5
  52. data/lib/randomperson/names/spanish-male-first.rb +24 -0
  53. data/lib/randomperson/{Names/SpanishPrefix.rb → names/spanish-prefix.rb} +1 -1
  54. data/lib/randomperson/{Names/SwedishFemaleFirst.rb → names/swedish-female-first.rb} +2 -2
  55. data/lib/randomperson/names/swedish-last.rb +24 -0
  56. data/lib/randomperson/{Names/SwedishMaleFirst.rb → names/swedish-male-first.rb} +2 -2
  57. data/lib/randomperson/{Names/ThaiFemaleFirst.rb → names/thai-female-first.rb} +2 -2
  58. data/lib/randomperson/{Names/ThaiFirst.rb → names/thai-first.rb} +2 -2
  59. data/lib/randomperson/{Names/ThaiLast.rb → names/thai-last.rb} +2 -2
  60. data/lib/randomperson/{Names/ThaiMaleFirst.rb → names/thai-male-first.rb} +2 -2
  61. data/lib/randomperson/{Names/ThaiRomanisedFemaleFirst.rb → names/thai-romanised-female-first.rb} +2 -2
  62. data/lib/randomperson/{Names/ThaiRomanisedLast.rb → names/thai-romanised-last.rb} +3 -3
  63. data/lib/randomperson/{Names/ThaiRomanisedMaleFirst.rb → names/thai-romanised-male-first.rb} +2 -2
  64. data/lib/randomperson/{Names/WelshFemaleFirst.rb → names/welsh-female-first.rb} +2 -2
  65. data/lib/randomperson/{Names/WelshLast.rb → names/welsh-last.rb} +3 -3
  66. data/lib/randomperson/{Names/WelshMaleFirst.rb → names/welsh-male-first.rb} +2 -2
  67. data/lib/randomperson/{Names/WelshPrefix.rb → names/welsh-prefix.rb} +2 -2
  68. data/lib/randomperson/{Outputter.rb → outputter.rb} +0 -0
  69. data/lib/randomperson/version.rb +1 -1
  70. data/lib/randomperson.rb +6 -6
  71. data/randomperson.gemspec +18 -16
  72. data/spec/{AnyLast_spec.rb → any-last_spec.rb} +2 -2
  73. data/spec/array_spec.rb +1 -12
  74. data/spec/demographic_spec.rb +30 -3
  75. data/spec/generator_spec.rb +1 -1
  76. data/spec/{Last_and_First_Names_spec.rb → last_and_first_names_spec.rb} +2 -2
  77. data/spec/name_spec.rb +1 -1
  78. data/spec/randomperson_spec.rb +1 -1
  79. data/spec/spec_helper.rb +33 -0
  80. metadata +172 -116
  81. data/lib/randomperson/Names/AnyLast.rb +0 -25
  82. data/lib/randomperson/Names/BasqueLast.rb +0 -24
  83. data/lib/randomperson/Names/SpanishFemaleFirst.rb +0 -23
  84. data/lib/randomperson/Names/SpanishMaleFirst.rb +0 -24
  85. data/lib/randomperson/Names/SwedishLast.rb +0 -24
  86. data/lib/randomperson/ext/Date.rb +0 -6
  87. data/lib/randomperson/ext/Set.rb +0 -7
  88. data/spec/AmericanSuffix_spec.rb +0 -37
  89. data/spec/rspec_helper.rb +0 -22
  90. data.tar.gz.sig +0 -0
  91. metadata.gz.sig +0 -2
data/.gitignore CHANGED
@@ -16,3 +16,8 @@ pkg
16
16
  rdoc
17
17
  *.swp
18
18
  coverage/
19
+ Gemfile.lock
20
+ vendor/
21
+ bin/
22
+ docs/
23
+ .yardoc/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format nested
data/.travis.yml ADDED
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 1.9.2
5
+ # whitelist
6
+ branches:
7
+ only:
8
+ - develop
9
+ - master
@@ -1,3 +1,14 @@
1
+ v1.1.1 Tuesday the 21st of August 2012
2
+
3
+ * Removed some monkey patches.
4
+ * Added more docs to the code and added Yardoc support.
5
+ * Renamed all the files to use lowercase, and be split by hyphens.
6
+ * Travis-ci support added.
7
+ * Tightened some of the specs, added others.
8
+ * Updated README for all the above.
9
+
10
+ ----
11
+
1
12
  v1.0.0 Lots of breaking changes to API. Lots more specs, for code and namefiles. Some general cleaning of data too.
2
13
 
3
14
  v0.0.19 Start of some specs.
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ # A sample Gemfile
2
+ source "https://rubygems.org"
3
+
4
+ gemspec
data/README.markdown CHANGED
@@ -4,7 +4,13 @@ A port to Ruby of Perl's Data::RandomPerson.
4
4
 
5
5
  http://search.cpan.org/~peterhi/Data-RandomPerson-0.4/
6
6
 
7
- Make sure you're reading the right version of the docs to go with your library! (If you're reading this on Github look for the "Switch Tags" or "Current Branch" -> "Tags" buttons to get the right version.)
7
+ ## Build status ##
8
+
9
+ Master branch:
10
+ [![Build Status for master branch](https://secure.travis-ci.org/yb66/RandomPerson.png?branch=master)](http://travis-ci.org/yb66/RandomPerson)
11
+
12
+ Development branch:
13
+ [![Build Status for development branch](https://secure.travis-ci.org/yb66/RandomPerson.png?branch=develop)](http://travis-ci.org/yb66/RandomPerson)
8
14
 
9
15
  ## QUICK NOTE!
10
16
 
@@ -22,16 +28,7 @@ It also has unicode characters, so it'll give your database a real test. At leas
22
28
 
23
29
  ## Installation:
24
30
 
25
- You'll need at least Ruby v1.9.1
26
-
27
- Get the public key from http://github.com/yb66/RandomPerson/blob/master/gem-public_cert.pem and do:
28
-
29
- gem cert --add /path/to/wherever/you/downloaded/this/to/public_cert.pem
30
-
31
- then install it:
32
-
33
- gem install randomperson -P HighSecurity
34
-
31
+ gem install randomperson
35
32
 
36
33
  ## USAGE:
37
34
 
@@ -221,7 +218,7 @@ etc etc
221
218
 
222
219
  or you can do things the old fashioned way (but why? anyway...)
223
220
 
224
- require 'namefiles/spanishfemalefirst'
221
+ require 'namefiles/spanish-female-first'
225
222
  #obviously you need to use the path from where you are or where the script will run from
226
223
 
227
224
  r.demographic["My fancy demo"].femalefirst = RandomPerson::Names::SpanishFemaleFirst.new
@@ -441,7 +438,7 @@ Special thanks to my agent, all the people at Marvel and DC for such fine comics
441
438
 
442
439
  It's an MIT Licence, I didn't take any code from the Perl one just names and a slight idea on how to structure things, so this ain't gonna be under the GPL. MIT is better anyway ;)
443
440
 
444
- Copyright (c) 2010 Iain Barnett
441
+ Copyright (c) 2012 Iain Barnett
445
442
 
446
443
  Permission is hereby granted, free of charge, to any person obtaining a copy
447
444
  of this software and associated documentation files (the "Software"), to deal
data/Rakefile CHANGED
@@ -1,16 +1,19 @@
1
1
  require 'rake'
2
- require 'rake/testtask'
2
+ require 'rspec/core/rake_task'
3
3
 
4
- lib_dir = File.expand_path('lib')
5
- app_dir = File.expand_path('lib/randomperson')
6
- test_dir = File.expand_path('test')
7
- ext_dir = File.expand_path('lib/randomperson/ext')
4
+ desc 'Default: run specs.'
5
+ task :default => :spec
8
6
 
9
-
10
- # desc "Run basic tests"
11
- Rake::TestTask.new("test") do |t|
12
- t.libs = [lib_dir, test_dir, app_dir]
13
- t.pattern = 'test/test_*.rb'
14
- t.verbose = true
15
- t.warning = true
7
+ desc "Run specs"
8
+ RSpec::Core::RakeTask.new do |t|
9
+ t.pattern = "./spec/**/*_spec.rb" # don't need this, it's default.
10
+ # Put spec opts in a file named .rspec in root
16
11
  end
12
+
13
+
14
+ require 'yard'
15
+
16
+ YARD::Rake::YardocTask.new do |t|
17
+ t.files = ['lib/**/*.rb'] # optional
18
+ t.options = ['-odocs/', '--no-private'] # optional
19
+ end
@@ -1,14 +1,13 @@
1
1
  # encoding: UTF-8
2
2
 
3
- require_relative "./Loader.rb"
3
+ require_relative "./loader.rb"
4
+ require_relative "./ext/set.rb"
4
5
 
5
6
  module RandomPerson
6
7
 
7
8
  class Demographic
8
9
  include Loader
9
10
 
10
- require 'set'
11
-
12
11
  # the name of this demographic
13
12
  attr_accessor :name
14
13
 
@@ -35,29 +34,47 @@ module RandomPerson
35
34
 
36
35
  Demographic.available_classes.merge Demographic.load_names
37
36
  end
38
-
39
37
 
40
-
41
- # tribe, gender, position
42
- def method_missing( name, *args )
43
- return super( name, *args ) unless name.to_s =~ /^add/
38
+
39
+ # @param [String] name
40
+ # @return [Array<String>]
41
+ def get_words( name )
44
42
  words = name.to_s.split( "_" )
45
43
  words.shift #get rid of the "add"
46
-
47
- #get the negations prepended with "not", then lop it off"
48
- nots = words.select{ |w| w =~ /^not/ }.map {|s| s[3..-1] }
44
+ words
45
+ end
46
+
47
+
48
+ # Get the negations prepended with "not", then lop it off"
49
+ # @param [Array<String>] words
50
+ # @return [Array<String>]
51
+ def get_nots( words )
52
+ words.select{ |w| w =~ /^not/ }.map {|s| s[3..-1] }
53
+ end
54
+
55
+
56
+ # Get the positives.
57
+ # @param [Array<String>] words
58
+ # @return [Array<String>]
59
+ def get_yesses( words )
49
60
  #get just the positives
50
- words.reject! {|w| w =~ /^not/ }
51
-
52
61
  #check the beginning of each word has an uc letter
53
- words.select! {|w| w =~ /^\p{Upper}/ }
62
+ words.reject{|w|
63
+ w =~ /^not/
64
+ }.select{|w|
65
+ w =~ /^\p{Upper}/
66
+ }
67
+ end
68
+
69
+ # tribe, gender, position
70
+ def method_missing( name, *args )
71
+ return super( name, *args ) unless name.to_s =~ /^add/
72
+
73
+ words = get_words( name )
54
74
 
55
- #get a set of nots
56
- nots = nots.map{|word| Demographic.available_classes.classify_true(word)}.fold(:&)
57
- #get a set of wanteds
58
- yesses = words.map{|word| Demographic.available_classes.classify_true(word)}.fold(:&)
75
+ nots = get_nots( words ).map{|word| Demographic.available_classes.classify_true(word)}.fold(:&)
59
76
 
60
- yesses = yesses - nots unless nots.nil? #remove nots from wanteds
77
+ yesses = get_yesses( words ).map{|word| Demographic.available_classes.classify_true(word)}.fold(:&)
61
78
 
62
79
  Demographic.prefix_em(
63
80
  yesses.map do |(file_name)|
@@ -9,10 +9,5 @@ class Array
9
9
  end
10
10
  return nil
11
11
  end
12
-
13
- # This will randomly select one of the values from the array
14
- def rand
15
- self[Kernel.rand(length)]
16
- end
17
12
 
18
13
  end
@@ -0,0 +1,13 @@
1
+ module RandomPerson
2
+ class Date < ::Date
3
+
4
+ # Convenience function
5
+ # @param [Integer] year
6
+ # @param [Integer] month
7
+ # @return [Integer]
8
+ def self.days_in_month( year, month )
9
+ ::Date.civil(year, month, -1).day
10
+ end
11
+
12
+ end
13
+ end
File without changes
File without changes
@@ -0,0 +1,13 @@
1
+ module RandomPerson
2
+
3
+ # @todo Spec
4
+ class Set < ::Set
5
+
6
+ # @todo handle failure
7
+ # @return [Set] The set for which the pattern matches.
8
+ def classify_true( pattern )
9
+ self.classify{|s| true if s =~ %r{^.*/[^/]*#{pattern}[^/]*$}i }[true]
10
+ end
11
+
12
+ end
13
+ end
@@ -69,12 +69,19 @@ module RandomPerson
69
69
  end
70
70
  end
71
71
 
72
+
73
+ # @param [Integer] lower
74
+ # @param [Integer] upper
75
+ # @todo swap if wrong way round
72
76
  def self.pick_age( lower=0, upper=100 )
73
77
  age = rand(upper - lower).to_i + lower
74
78
  end
75
-
76
- def self.pick_dob( y=16 )
77
- year = Time.now.year - y
79
+
80
+
81
+ # Create a date of birth relative to today.
82
+ # @param [Integer] age
83
+ def self.pick_dob( age=16 )
84
+ year = Time.now.year - age
78
85
  month = rand(12) + 1;
79
86
  day = rand( Date.days_in_month( year, month ) ) + 1
80
87
  Time.local( year, month, day )
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
- require_relative "./ext/Kernel.rb"
3
+ require_relative "./ext/kernel.rb"
4
4
 
5
5
 
6
6
  module RandomPerson
@@ -17,15 +17,18 @@ module RandomPerson
17
17
  opts = { patterns: ['*.rb'], lib_dir: File.dirname(__FILE__) }.merge( opts )
18
18
 
19
19
  fulls = opts[:patterns].map do |pattern|
20
- full_pattern = File.join( opts[:lib_dir], 'Names', pattern )
20
+ full_pattern = File.join( opts[:lib_dir], 'names', pattern )
21
21
  end
22
22
  Dir.glob( fulls )
23
23
  end
24
24
 
25
-
25
+
26
+ # Requires the file and then returns the name of the class
27
+ # @param [String] file_name The file to require and extract the class name from.
28
+ # @return [String] The class name.
26
29
  def requiring( file_name )
27
30
  require file_name
28
- set_of_names = File.basename( file_name, File.extname( file_name ) ) #remove the extension too
31
+ set_of_names = File.basename( file_name, ".rb" ).split("-").map(&:capitalize).join
29
32
  end
30
33
 
31
34
  def prefix_em( collection, prefix="RandomPerson::Names::" )
@@ -1,6 +1,7 @@
1
1
  # encoding: UTF-8
2
2
 
3
- require_relative "./Outputter.rb"
3
+ require_relative "./ext/array.rb"
4
+ require_relative "./outputter.rb"
4
5
 
5
6
 
6
7
  module RandomPerson
@@ -1,7 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require_relative "../name.rb"
4
- require_relative "../ext/Array.rb"
5
4
 
6
5
  module RandomPerson
7
6
  module Names
@@ -11,11 +10,12 @@ module RandomPerson
11
10
  def initialize
12
11
  @names = Names
13
12
  @formats_ratiod = [ (0..99) ]
14
- @formats = [ ->(n){ n.rand } ]
13
+ @formats = [ ->(n){ n.sample } ]
15
14
 
16
15
  super
17
16
  end
18
17
 
18
+ # @private
19
19
  Names = %w{ Mary Patricia Linda Barbara Elizabeth Jennifer Maria Susan Margaret Dorothy Lisa Nancy Karen Betty Helen Sandra Donna Carol Ruth Sharon Michelle Laura Sarah Kimberly Deborah Jessica Shirley Cynthia Angela Melissa Brenda Amy Anna Rebecca Virginia Kathleen Pamela Martha Debra Amanda Stephanie Carolyn Christine Marie Janet Catherine Frances Ann Joyce Diane Alice Julie Heather Teresa Doris Gloria Evelyn Jean Cheryl Mildred Katherine Joan Ashley Judith Rose Janice Kelly Nicole Judy Christina Kathy Theresa Beverly Denise Tammy Irene Jane Lori Rachel Marilyn Andrea Kathryn Louise Sara Anne Jacqueline Wanda Bonnie Julia Ruby Lois Tina Phyllis Norma Paula Diana Annie Lillian Emily Robin Peggy Crystal Gladys Rita Dawn Connie Florence Tracy Edna Tiffany Carmen Rosa Cindy Grace Wendy Victoria Edith Kim Sherry Sylvia Josephine Thelma Shannon Sheila Ethel Ellen Elaine Marjorie Carrie Charlotte Monica Esther Pauline Emma Juanita Anita Rhonda Hazel Amber Eva Debbie April Leslie Clara Lucille Jamie Joanne Eleanor Valerie Danielle Megan Alicia Suzanne Michele Gail Bertha Darlene Veronica Jill Erin Geraldine Lauren Cathy Joann Lorraine Lynn Sally Regina Erica Beatrice Dolores Bernice Audrey Yvonne Annette June Samantha Marion Dana Stacy Ana Renee Ida Vivian Roberta Holly Brittany Melanie Loretta Yolanda Jeanette Laurie Katie Kristen Vanessa Alma Sue Elsie Beth Jeanne Vicki Carla Tara Rosemary Eileen Terri Gertrude Lucy Tonya Ella Stacey Wilma Gina Kristin Jessie Natalie Agnes Vera Willie Charlene Bessie Delores Melinda Pearl Arlene Maureen Colleen Allison Tamara Joy Georgia Constance Lillie Claudia Jackie Marcia Tanya Nellie Minnie Marlene Heidi Glenda Lydia Viola Courtney Marian Stella Caroline Dora Jo Vickie Mattie Terry Maxine Irma Mabel Marsha Myrtle Lena Christy Deanna Patsy Hilda Gwendolyn Jennie Nora Margie Nina Cassandra Leah Penny Kay Priscilla Naomi Carole Brandy Olga Billie Dianne Tracey Leona Jenny Felicia Sonia Miriam Velma Becky Bobbie Violet Kristina Toni Misty Mae Shelly Daisy Ramona Sherri Erika Katrina Claire Lindsey Lindsay Geneva Guadalupe Belinda Margarita Sheryl Cora Faye Ada Natasha Sabrina Isabel Marguerite Hattie Harriet Molly Cecilia Kristi Brandi Blanche Sandy Rosie Joanna Iris Eunice Angie Inez Lynda Madeline Amelia Alberta Genevieve Monique Jodi Janie Maggie Kayla Sonya Jan Lee Kristine Candace Fannie Maryann Opal Alison Yvette Melody Luz Susie Olivia Flora Shelley Kristy Mamie Lula Lola Verna Beulah Antoinette Candice Juana Jeannette Pam Kelli Hannah Whitney Bridget Karla Celia Latoya Patty Shelia Gayle Della Vicky Lynne Sheri Marianne Kara Jacquelyn Erma Blanca Myra Leticia Pat Krista Roxanne Angelica Johnnie Robyn Francis Adrienne Rosalie Alexandra Brooke Bethany Sadie Bernadette Traci Jody Kendra Jasmine Nichole Rachael Chelsea Mable Ernestine Muriel Marcella Elena Krystal Angelina Nadine Kari Estelle Dianna Paulette Lora Mona Doreen Rosemarie Angel Desiree Antonia Hope Ginger Janis Betsy Christie Freda Mercedes Meredith Lynette Teri Cristina Eula Leigh Meghan Sophia Eloise Rochelle Gretchen Cecelia Raquel Henrietta Alyssa Jana Kelley Gwen Kerry Jenna Tricia Laverne Olive Alexis Tasha Silvia Elvira Casey Delia Sophie Kate Patti Lorena Kellie Sonja Lila Lana Darla May Mindy Essie Mandy Lorene Elsa Josefina Jeannie Miranda Dixie Lucia Marta Faith Lela Johanna Shari Camille Tami Shawna Elisa Ebony Melba Ora Nettie Tabitha Ollie Jaime Winifred Kristie Marina Alisha Aimee Rena Myrna Marla Tammie Latasha Bonita Patrice Ronda Sherrie Addie Francine Deloris Stacie Adriana Cheri Shelby Abigail Celeste Jewel Cara Adele Rebekah Lucinda Dorthy Chris Effie Trina Reba Shawn Sallie Aurora Lenora Etta Lottie Kerri Trisha Nikki Estella Francisca Josie Tracie Marissa Karin Brittney Janelle Lourdes Laurel Helene Fern Elva Corinne Kelsey Ina Bettie Elisabeth Aida Caitlin Ingrid Iva Eugenia Christa Goldie Cassie Maude Jenifer Therese Frankie Dena Lorna Janette Latonya Candy Morgan Consuelo Tamika Rosetta Debora Cherie Polly Dina Jewell Fay Jillian Dorothea Nell Trudy Esperanza Patrica Kimberley Shanna Helena Carolina Cleo Stefanie Rosario Ola Janine Mollie Lupe Alisa Lou Maribel Susanne Bette Susana Elise Cecile Isabelle Lesley Jocelyn Paige Joni Rachelle Leola Daphne Alta Ester Petra Graciela Imogene Jolene Keisha Lacey Glenna Gabriela Keri Ursula Lizzie Kirsten Shana Adeline Mayra Jayne Jaclyn Gracie Sondra Carmela Marisa Rosalind Charity Tonia Beatriz Marisol Clarice Jeanine Sheena Angeline Frieda Lily Robbie Shauna Millie Claudette Cathleen Angelia Gabrielle Autumn Katharine Summer Jodie Staci Lea Christi Jimmie Justine Elma Luella Margret Dominique Socorro Rene Martina Margo Mavis Callie Bobbi Maritza Lucile Leanne Jeannine Deana Aileen Lorie Ladonna Willa Manuela Gale Selma Dolly Sybil Abby Lara Dale Ivy Dee Winnie Marcy Luisa Jeri Magdalena Ofelia Meagan Audra Matilda Leila Cornelia Bianca Simone Bettye Randi Virgie Latisha Barbra Georgina Eliza Leann Bridgette Rhoda Haley Adela Nola Bernadine Flossie Ila Greta Ruthie Nelda Minerva Lilly Terrie Letha Hilary Estela Valarie Brianna Rosalyn Earline Catalina Ava Mia Clarissa Lidia Corrine Alexandria Concepcion Tia Sharron Rae Dona Ericka Jami Elnora Chandra Lenore Neva Marylou Melisa Tabatha Serena Avis Allie Sofia Jeanie Odessa Nannie Harriett Loraine Penelope Milagros Emilia Benita Allyson Ashlee Tania Tommie Esmeralda Karina Eve Pearlie Zelma Malinda Noreen Tameka Saundra Hillary Amie Althea Rosalinda Jordan Lilia Alana Gay Clare Alejandra Elinor Michael Lorrie Jerri Darcy Earnestine Carmella Taylor Noemi Marcie Liza Annabelle Louisa Earlene Mallory Carlene Nita Selena Tanisha Katy Julianne John Lakisha Edwina Maricela Margery Kenya Dollie Roxie Roslyn Kathrine Nanette Charmaine Lavonne Ilene Kris Tammi Suzette Corine Kaye Jerry Merle Chrystal Lina Deanne Lilian Juliana Aline Luann Kasey Maryanne Evangeline Colette Melva Lawanda Yesenia Nadia Madge Kathie Eddie Ophelia Valeria Nona Mitzi Mari Georgette Claudine Fran Alissa Roseann Lakeisha Susanna Reva Deidre Chasity Sheree Carly James Elvia Alyce Deirdre Gena Briana Araceli Katelyn Rosanne Wendi Tessa Berta Marva Imelda Marietta Marci Leonor Arline Sasha Madelyn Janna Juliette Deena Aurelia Josefa Augusta Liliana Young Christian Lessie Amalia Savannah Anastasia Vilma Natalia Rosella Lynnette Corina Alfreda Leanna Carey Amparo Coleen Tamra Aisha Wilda Karyn Cherry Queen Maura Mai Evangelina Rosanna Hallie Erna Enid Mariana Lacy Juliet Jacklyn Freida Madeleine Mara Hester Cathryn Lelia Casandra Bridgett Angelita Jannie Dionne Annmarie Katina Beryl Phoebe Millicent Katheryn Diann Carissa Maryellen Liz Lauri Helga Gilda Adrian Rhea Marquita Hollie Tisha Tamera Angelique Francesca Britney Kaitlin Lolita Florine Rowena Reyna Twila Fanny Janell Ines Concetta Bertie Alba Brigitte Alyson Vonda Pansy Elba Noelle Letitia Kitty Deann Brandie Louella Leta Felecia Sharlene Lesa Beverley Robert Isabella Herminia Terra Celina }
20
20
  end
21
21
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require_relative "../name.rb"
4
- require_relative "../ext/Array.rb"
5
4
 
6
5
  module RandomPerson
7
6
  module Names
@@ -11,14 +10,15 @@ module RandomPerson
11
10
  def initialize
12
11
  @names = Names
13
12
  @formats = [
14
- ->(n) { n.rand },
15
- ->(n) { n.rand + ' ' + n.rand },
16
- ->(n) { n.rand + '-' + n.rand },
13
+ ->(n) { n.sample },
14
+ ->(n) { n.sample + ' ' + n.sample },
15
+ ->(n) { n.sample + '-' + n.sample },
17
16
  ]
18
17
  @formats_ratiod = [ (0..95), (96..97), (98..99) ]
19
18
  super
20
19
  end
21
20
 
21
+ # @private
22
22
  Names = %w(Smith Johnson Williams Jones Brown Davis Miller Wilson Moore Taylor Anderson Thomas Jackson White Harris Martin Thompson Garcia Martinez Robinson Clark Rodriguez Lewis Lee Walker Hall Allen Young Hernandez King Wright Lopez Hill Scott Green Adams Baker Gonzalez Nelson Carter Mitchell Perez Roberts Turner Phillips Campbell Parker Evans Edwards Collins Stewart Sanchez Morris Rogers Reed Cook Morgan Bell Murphy Bailey Rivera Cooper Richardson Cox Howard Ward Torres Peterson Gray Ramirez James Watson Brooks Kelly Sanders Price Bennett Wood Barnes Ross Henderson Coleman Jenkins Perry Powell Long Patterson Hughes Flores Washington Butler Simmons Foster Gonzales Bryant Alexander Russell Griffin Diaz Hayes Myers Ford Hamilton Graham Sullivan Wallace Woods Cole West Jordan Owens Reynolds Fisher Ellis Harrison Gibson McDonald Cruz Marshall Ortiz Gomez Murray Freeman Wells Webb Simpson Stevens Tucker Porter Hunter Hicks Crawford Henry Boyd Mason Morales Kennedy Warren Dixon Ramos Reyes Burns Gordon Shaw Holmes Rice Robertson Hunt Black Daniels Palmer Mills Nichols Grant Knight Ferguson Rose Stone Hawkins Dunn Perkins Hudson Spencer Gardner Stephens Payne Pierce Berry Matthews Arnold Wagner Willis Ray Watkins Olson Carroll Duncan Snyder Hart Cunningham Bradley Lane Andrews Ruiz Harper Fox Riley Armstrong Carpenter Weaver Greene Lawrence Elliott Chavez Sims Austin Peters Kelley Franklin Lawson Fields Gutierrez Ryan Schmidt Carr Vasquez Castillo Wheeler Chapman Oliver Montgomery Richards Williamson Johnston Banks Meyer Bishop McCoy Howell Alvarez Morrison Hansen Fernandez Garza Harvey Little Burton Stanley Nguyen George Jacobs Reid Kim Fuller Lynch Dean Gilbert Garrett Romero Welch Larson Frazier Burke Hanson Day Mendoza Moreno Bowman Medina Fowler Brewer Hoffman Carlson Silva Pearson Holland Douglas Fleming Jensen Vargas Byrd Davidson Hopkins May Terry Herrera Wade Soto Walters Curtis Neal Caldwell Lowe Jennings Barnett Graves Jimenez Horton Shelton Barrett Obrien Castro Sutton Gregory McKinney Lucas Miles Craig Rodriquez Chambers Holt Lambert Fletcher Watts Bates Hale Rhodes Pena Beck Newman Haynes McDaniel Mendez Bush Vaughn Parks Dawson Santiago Norris Hardy Love Steele Curry Powers Schultz Barker Guzman Page Munoz Ball Keller Chandler Weber Leonard Walsh Lyons Ramsey Wolfe Schneider Mullins Benson Sharp Bowen Daniel Barber Cummings Hines Baldwin Griffith Valdez Hubbard Salazar Reeves Warner Stevenson Burgess Santos Tate Cross Garner Mann Mack Moss Thornton Dennis McGee Farmer Delgado Aguilar Vega Glover Manning Cohen Harmon Rodgers Robbins Newton Todd Blair Higgins Ingram Reese Cannon Strickland Townsend Potter Goodwin Walton Rowe Hampton Ortega Patton Swanson Joseph Francis Goodman Maldonado Yates Becker Erickson Hodges Rios Conner Adkins Webster Norman Malone Hammond Flowers Cobb Moody Quinn Blake Maxwell Pope Floyd Osborne Paul McCarthy Guerrero Lindsey Estrada Sandoval Gibbs Tyler Gross Fitzgerald Stokes Doyle Sherman Saunders Wise Colon Gill Alvarado Greer Padilla Simon Waters Nunez Ballard Schwartz McBride Houston Christensen Klein Pratt Briggs Parsons McLaughlin Zimmerman French Buchanan Moran Copeland Roy Pittman Brady McCormick Holloway Brock Poole Frank Logan Owen Bass Marsh Drake Wong Jefferson Park Morton Abbott Sparks Patrick Norton Huff Clayton Massey Lloyd Figueroa Carson Bowers Roberson Barton Tran Lamb Harrington Casey Boone Cortez Clarke Mathis Singleton Wilkins Cain Bryan Underwood Hogan McKenzie Collier Luna Phelps McGuire Allison Bridges Wilkerson Nash Summers Atkins Wilcox Pitts Conley Marquez Burnett Richard Cochran Chase Davenport Hood Gates Clay Ayala Sawyer Roman Vazquez Dickerson Hodge Acosta Flynn Espinoza Nicholson Monroe Wolf Morrow Kirk Randall Anthony Whitaker Oconnor Skinner Ware Molina Kirby Huffman Bradford Charles Gilmore Dominguez Oneal Bruce Lang Combs Kramer Heath Hancock Gallagher Gaines Shaffer Short Wiggins Mathews McClain Fischer Wall Small Melton Hensley Bond Dyer Cameron Grimes Contreras Christian Wyatt Baxter Snow Mosley Shepherd Larsen Hoover Beasley Glenn Petersen Whitehead Meyers Keith Garrison Vincent Shields Horn Savage Olsen Schroeder Hartman Woodard Mueller Kemp Deleon Booth Patel Calhoun Wiley Eaton Cline Navarro Harrell Lester Humphrey Parrish Duran Hutchinson Hess Dorsey Bullock Robles Beard Dalton Avila Vance Rich Blackwell York Johns Blankenship Trevino Salinas Campos Pruitt Moses Callahan Golden Montoya Hardin Guerra McDowell Carey Stafford Gallegos Henson Wilkinson Booker Merritt Miranda Atkinson Orr Decker Hobbs Preston Tanner Knox Pacheco Stephenson Glass Rojas Serrano Marks Hickman English Sweeney Strong Prince McClure Conway Walter Roth Maynard Farrell Lowery Hurst Nixon Weiss Trujillo Ellison Sloan Juarez Winters McLean Randolph Leon Boyer Villarreal McCall Gentry Carrillo Kent Ayers Lara Shannon Sexton Pace Hull Leblanc Browning Velasquez Leach Chang House Sellers Herring Noble Foley Bartlett Mercado Landry Durham Walls Barr McKee Bauer Rivers Everett Bradshaw Pugh Velez Rush Estes Dodson Morse Sheppard Weeks Camacho Bean Barron Livingston Middleton Spears Branch Blevins Chen Kerr McConnell Hatfield Harding Ashley Solis Herman Frost Giles Blackburn William Pennington Woodward Finley McIntosh Koch Best Solomon McCullough Dudley Nolan Blanchard Rivas Brennan Mejia Kane Benton Joyce Buckley Haley Valentine Maddox Russo McKnight Buck Moon McMillan Crosby Berg Dotson Mays Roach Church Chan Richmond Meadows Faulkner Oneill Knapp Kline Barry Ochoa Jacobson Gay Avery Hendricks Horne Shepard Hebert Cherry Cardenas McIntyre Whitney Waller Holman Donaldson Cantu Terrell Morin Gillespie Fuentes Tillman Sanford Bentley Peck Key Salas Rollins Gamble Dickson Battle Santana Cabrera Cervantes Howe Hinton Hurley Spence Zamora Yang McNeil Suarez Case Petty Gould McFarland Sampson Carver Bray Rosario Macdonald Stout Hester Melendez Dillon Farley Hopper Galloway Potts Bernard Joyner Stein Aguirre Osborn Mercer Bender Franco Rowland Sykes Benjamin Travis Pickett Crane Sears Mayo Dunlap Hayden Wilder McKay Coffey McCarty Ewing Cooley Vaughan Bonner Cotton Holder Stark Ferrell Cantrell Fulton Lynn Lott Calderon Rosa Pollard Hooper Burch Mullen Fry Riddle Levy David Duke Odonnell Guy Michael Britt Frederick Daugherty Berger Dillard Alston Jarvis Frye Riggs Chaney Odom Duffy Fitzpatrick Valenzuela Merrill Mayer Alford McPherson Acevedo Donovan Barrera Albert Cote Reilly Compton Raymond Mooney McGowan Craft Cleveland Clemons Wynn Nielsen Baird Stanton Snider Rosales Bright Witt Stuart Hays Holden Rutledge Kinney Clements Castaneda Slater Hahn Emerson Conrad Burks Delaney Pate Lancaster Sweet Justice Tyson Sharpe Whitfield Talley Macias Irwin Burris Ratliff McCray Madden Kaufman Beach Goff Cash Bolton McFadden Levine Good Byers Kirkland Kidd Workman Carney Dale Mcleod Holcomb England Finch Head Burt Hendrix Sosa Haney Franks Sargent Nieves Downs Rasmussen Bird Hewitt Lindsay Le Foreman Valencia Oneil Delacruz Vinson Dejesus Hyde Forbes Gilliam Guthrie Wooten Huber Barlow Boyle McMahon Buckner Rocha Puckett Langley Knowles Cooke Velazquez Whitley Noel Vang )
23
23
 
24
24
  end
@@ -1,8 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require_relative "../name.rb"
4
- require_relative "../ext/Array.rb"
5
-
6
4
 
7
5
  module RandomPerson
8
6
  module Names
@@ -11,12 +9,13 @@ module RandomPerson
11
9
 
12
10
  def initialize
13
11
  @names = Names
14
- @formats = [ ->(n){ n.rand } ]
12
+ @formats = [ ->(n){ n.sample } ]
15
13
  @formats_ratiod = [ (0..99) ]
16
14
 
17
15
  super
18
16
  end
19
17
 
18
+ # @private
20
19
  Names = %w{ James John Robert Michael William David Richard Charles Joseph Thomas Christopher Daniel Paul Mark Donald George Kenneth Steven Edward Brian Ronald Anthony Kevin Jason Matthew Gary Timothy Jose Larry Jeffrey Frank Scott Eric Stephen Andrew Raymond Gregory Joshua Jerry Dennis Walter Patrick Peter Harold Douglas Henry Carl Arthur Ryan Roger Joe Juan Jack Albert Jonathan Justin Terry Gerald Keith Samuel Willie Ralph Lawrence Nicholas Roy Benjamin Bruce Brandon Adam Harry Fred Wayne Billy Steve Louis Jeremy Aaron Randy Howard Eugene Carlos Russell Bobby Victor Martin Ernest Phillip Todd Jesse Craig Alan Shawn Clarence Sean Philip Chris Johnny Earl Jimmy Antonio Danny Bryan Tony Luis Mike Stanley Leonard Nathan Dale Manuel Rodney Curtis Norman Allen Marvin Vincent Glenn Jeffery Travis Jeff Chad Jacob Lee Melvin Alfred Kyle Francis Bradley Jesus Herbert Frederick Ray Joel Edwin Don Eddie Ricky Troy Randall Barry Alexander Bernard Mario Leroy Francisco Marcus Micheal Theodore Clifford Miguel Oscar Jay Jim Tom Calvin Alex Jon Ronnie Bill Lloyd Tommy Leon Derek Warren Darrell Jerome Floyd Leo Alvin Tim Wesley Gordon Dean Greg Jorge Dustin Pedro Derrick Dan Lewis Zachary Corey Herman Maurice Vernon Roberto Clyde Glen Hector Shane Ricardo Sam Rick Lester Brent Ramon Charlie Tyler Gilbert Gene Marc Reginald Ruben Brett Angel Nathaniel Rafael Leslie Edgar Milton Raul Ben Chester Cecil Duane Franklin Andre Elmer Brad Gabriel Ron Mitchell Roland Arnold Harvey Jared Adrian Karl Cory Claude Erik Darryl Jamie Neil Jessie Christian Javier Fernando Clinton Ted Mathew Tyrone Darren Lonnie Lance Cody Julio Kelly Kurt Allan Nelson Guy Clayton Hugh Max Dwayne Dwight Armando Felix Jimmie Everett Jordan Ian Wallace Ken Bob Jaime Casey Alfredo Alberto Dave Ivan Johnnie Sidney Byron Julian Isaac Morris Clifton Willard Daryl Ross Virgil Andy Marshall Salvador Perry Kirk Sergio Marion Tracy Seth Kent Terrance Rene Eduardo Terrence Enrique Freddie Wade }
21
20
  end
22
21
  end
@@ -1,13 +1,13 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require_relative "../name.rb"
4
- require_relative "../ext/Array.rb"
5
4
 
6
5
  module RandomPerson
7
6
  module Names
8
7
 
9
8
  class AmericanPrefix < Name
10
9
 
10
+ # @private
11
11
  Names = %w(Mr. Dr. Mrs. Ms. Miss)
12
12
 
13
13
  def initialize
@@ -1,13 +1,13 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require_relative "../name.rb"
4
- require_relative "../ext/Array.rb"
5
4
 
6
5
  module RandomPerson
7
6
  module Names
8
7
 
9
8
  class AmericanSuffix < Name
10
9
 
10
+ # @private
11
11
  Names = [ 'Jr.', ''] + %w( I II III IV V Sr. )
12
12
 
13
13
  def initialize
@@ -1,7 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require_relative "../name.rb"
4
- require_relative "../ext/Array.rb"
5
4
 
6
5
  module RandomPerson
7
6
  module Names
@@ -11,13 +10,14 @@ module RandomPerson
11
10
  def initialize
12
11
  @names = Names
13
12
  @formats = [
14
- ->(n) { n.rand },
13
+ ->(n) { n.sample },
15
14
  ]
16
15
  @formats_ratiod = [ (0..99) ]
17
16
 
18
17
  super
19
18
  end
20
19
 
20
+ # @private
21
21
  Names = %w{ Actaia Actoris Aegialeia Aerope Aethra Aethylla Aganippe Aglaia Alcimede Amphinome Anticlea Arne Astynome Astyoche Autolye Callianeira Canache Chione Chloe Circe Clytemnestra Clytie Creusa Cymodece Danae Daphne Deianara Deidameia Dirce Dynamene Eidyia Eriphyle Eurynome Galatea Halia Helen Hesione Hiera Ianassa Iaria Leda Leucippe Limnoraea Maera Mante Meda Melantho Melite Metaneira Nacippe Nemertes Nesaea Orithyia Otionia Panope Penthesilia Periboea Perimede Periopis Pero Pherusa Philomele Polymede Polymele Polypheme Polyxena Prote Protogoria Scarphe Sibyl Speio Tecmessa Thaleia Theano Thoe Xanthippe Xenoclea }
22
22
  end
23
23
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require_relative "../name.rb"
4
- require_relative "../ext/Array.rb"
5
4
 
6
5
  module RandomPerson
7
6
  module Names
@@ -11,12 +10,13 @@ module RandomPerson
11
10
  def initialize
12
11
  @names = Names
13
12
  @formats = [
14
- ->(n){ 'of ' + n.rand },
13
+ ->(n){ 'of ' + n.sample },
15
14
  ]
16
15
  @formats_ratiod = [ (0..99) ]
17
16
  super
18
17
  end
19
18
 
19
+ # @private
20
20
  Names = ["Chania", "Abae", "Abdera", "Abia", "Abila", "Abydos", "Acacesium", "Academia", "Acanthus", "Acesia", "Achaia", "Acharnae", "Achilleum", "Achladia", "Acraephia", "Acraephnia", "Acriae", "Acrocorinth", "Actium", "Adramyttium", "Adranon", "Aeantium", "Aedepsus", "Aegalia", "Aegeira", "Aegina", "Aegitium", "Aegium", "Aegosthena", "Aeneia", "Aeniania", "Aenus", "Aeolis", "Aetolia", "Aetolia Stater", "Agathe Gaia", "Agathussa", "Agde", "Agia Triada", "Agiria", "Agirion", "Agrigentum", "Agrileza", "Agyrium", "Ai-Khanoum", "Aidonia", "Aigosthena", "Ainos", "Akanthos", "Akragas", "Akragas Tetradrachm", "Akrotiri", "Alabanda", "Alagonia", "Alalcomenae", "Alalia", "Alea", "Alexandretta", "Alexandria", "Alexandria Troas", "Allaria", "Amaseia", "Amathus", "Ambrakia", "Amilus", "Amisos", "Amnisos", "Amphea", "Amphiaraion", "Amphidoli", "Amphimalla", "Amphipolis", "Amyclae", "Anaphlystus", "Ancona", "Andania", "Anelontis", "Anemospilia", "Anigrus", "Anopolis", "Antandros", "Antandrus", "Anthedon", "Antheia", "Anthene", "Antigonea", "Antigoneia", "Antigonia Psaphara", "Antioch", "Antiochia Lamotis", "Antiochia Parliou", "Antiochia ad Cragum", "Antiochia ad Pyramum", "Antiochia ad Taurum", "Antiochia in Margiana", "Antiochia in Scythia", "Antiochia in Sittacene", "Antipatrea", "Antipolis", "Antissa", "Aonia", "Apamea", "Apamea Myrlea", "Apamea Ragiana", "Aperopia", "Apesokari", "Aphidnae", "Aphrodisias", "Apia", "Apollonia", "Apollonia Pontica", "Apoudoulou", "Aptera", "Aradaena", "Araphen", "Arcades", "Arcadia", "Archanes", "Areopagus", "Areopolis", "Argeathoi", "Argilus", "Argissa", "Argive Heraion", "Argolis", "Argos", "Argyra", "Aristonautae", "Arkadiko", "Arkalochori", "Armeni", "Arsinoe", "Artemis Pergaia", "Ascra", "Asea", "Asine", "Aspendos", "Aspledon", "Assiros", "Assus", "Athens", "Athytos", "Atsipades", "Axos", "Bagram", "Barke", "Basilis", "Bassae", "Batis", "Bet Shean", "Bithynia", "Boeae", "Boeotia", "Bottia", "Brauron", "Bucephala", "Buchaetium", "Bucolium", "Budeia", "Budeium", "Bullis", "Buphagium", "Buphia", "Bura", "Butrint", "Byzantion", "Calliste", "Calus", "Calydon", "Cameirus", "Caphyae", "Cardia", "Caria", "Carystus", "Cassandreia", "Cassiterides", "Cassope", "Caunus", "Cenchrea", "Ceos", "Cerdylium", "Cerinthus", "Cerynea", "Cerynites", "Cestrine", "Chaeronea", "Chalaeon", "Chalcedon", "Chalcidice", "Chalcis", "Chamaizi House", "Chania", "Chaonia", "Charadra", "Charax", "Charisia", "Chelonites", "Chios", "Chyton", "Cichorus", "Cilicia", "Citium", "Cius", "Clarus", "Clazomenae", "Cleitor", "Cleonae", "Cnidus", "Cnossus", "Colchis", "Colonis", "Colophon", "Commagene", "Corcyra", "Corinth", "Coronea", "Cos", "Cotyora", "Crannon", "Creusa", "Crocodilopolis", "Crommyon", "Croton", "Crunoi", "Cumae", "Cyclades", "Cyllene", "Cynaetha", "Cynosarges", "Cynoscephelae", "Cynossema", "Cynosura", "Cyrene", "Cythera", "Cythnos", "Cyzicus", "Dardanelles", "Daulis", "Decapolis", "Decelea", "Deigma", "Delos", "Delphi", "Demetrias", "Dendra", "Derveni", "Deuriopus", "Dicaearcheia", "Didrachm", "Didyma", "Dimini", "Dion", "Dionysopolis", "Dioskurias", "Dipaea", "Dodona", "Doliche", "Dorium", "Dragmos", "Drepanon", "Drepanum", "Dreros", "Dyme", "Dysorum", "Dyspontium", "Echinades", "Edessa", "Eion", "Elaea", "Elaeatis", "Elatea", "Elea", "Eleusis", "Eleutherai", "Elis", "Elyrus", "Emporion", "Empúries", "Enispe", "Ephesus", "Ephyra", "Epidamnos", "Epidauros", "Epidaurus", "Epidaurus Limera", "Epidelium", "Eretria", "Ertaea", "Erythrae", "Etia", "Euboea", "Euhesperides", "Eupagium", "Eurea", "Euromos", "Eutaea", "Fanoti", "Feres", "Foce del Sele", "Fourni", "France", "Galaxius", "Galepsus", "Gela", "Gerasa", "Geronthrae", "Gioura", "Gonnoi", "Gonoessa", "Gorgippia", "Gortyn", "Gortys", "Gournia", "Greece", "Gytheion", "Gythium", "Haliacmon", "Haliaeis", "Haliartus", "Halieis", "Halikarnassos", "Halimus", "Halipedon", "Helike", "Hellespont", "Hellison", "Hephaestia", "Heraclea", "Heraclea Lyncestis", "Heraclea Minoa", "Heraclea Pontica", "Heraclea Trachis", "Heraea", "Heraion of Argos", "Heraion of Samos", "Hermione", "Hermonassa", "Hieraptyna", "Hierapytna", "Himera", "Hippos", "Histiaea", "Histria", "Hyampea", "Hyampolis", "Hyle", "Hylicus", "Hypata", "Hyperea", "Hyperesia", "Hyperteleatum", "Hyria", "Hyrmina", "Hyrtacina", "Hysiae", "Ialysus", "Iasos", "Icaria", "Ieraptyna", "Imbros", "Iolcos", "Ionia", "Ischia", "Isthmia", "Istros", "Itanos", "Jerash", "Kalamakia", "Kallatis", "Kalydon", "Kamares", "Kameiros", "Kamilari", "Karfi", "Karphi", "Karystos", "Kasmenai", "Kassope", "Kastanas", "Katane", "Kato Zakros", "Kaulonia", "Kavousi", "Kea", "Kelenderis", "Kerameikos", "Kerasos", "Kerkinitida", "Kichyros", "Knidos", "Knossos", "Kolona", "Kommos", "Kos Tetradrachm", "Koumasa", "Kouphovouno", "Krinides", "Kritsana", "Kymisala", "Kytoros", "Labraunda", "Laconia", "Lampsacus", "Laodicea", "Laodicea Combusta", "Laodicea Pontica", "Laodicea ad Libanum", "Laodiceia", "Lappa", "Larax", "Larissa", "Larissus", "Lartos", "Las", "Lasaea", "Lato", "Lato pros Kamara", "Latus", "Laurium", "Ledra", "Lefkandi", "Lemnos", "Leontini", "Lepreum", "Lerna", "Leros", "Lesbos", "Lete", "Lethaeus", "Leucas", "Leuce Island", "Libethra", "Lilaea", "Lindos", "Lisus", "Locri", "Lucania", "Lumbarda", "Lycorea", "Lycosura", "Lycountai", "Lyctus", "Lykorea", "Lykosoura", "Lynkestis", "Lyrceum", "Lyrkeia", "Macynia", "Magnesia", "Mainake", "Maktorion", "Makynia", "Mallus", "Mani", "Mantinea", "Mantineia", "Marathesium", "Marathon", "Marmara Island", "Maroulas", "Massalia", "Megara", "Megara Hyblaea", "Melaeneae", "Meliboea Thessaly", "Melitaea", "Mende", "Menelaion", "Merv", "Mesembria", "Mesimvria", "Messene", "Messenia", "Messinia", "Metapontum", "Methana", "Methone", "Methydrium", "Methymna", "Methymna Stater", "Midea", "Mieza", "Milas", "Miletos", "Miletus", "Milos", "Mopsuestia", "Mycalessus", "Mycenae", "Mygdonia", "Mylasa", "Myra", "Myrmekion", "Mysia", "Nagidos", "Nahavand", "Naucratis", "Naupactus", "Naxos", "Naxos Tetradrachm", "Nea Polis", "Necromanteion", "Nemea", "Nesebar", "Nicaea", "Nicopolis", "Nonakris", "Nymphaeum", "Nysa", "Odessos", "Odigitria", "Oeanthea", "Oenoe", "Oenus", "Olbia", "Olonte", "Olympia", "Olynthus", "Omphalos in Delphi", "Onceum", "Ophiussa", "Opis", "Opuntian Locris", "Orchomenus", "Ordu", "Oreus", "Orobiae", "Oropos", "Orraon", "Orrhaon", "Ortygia", "Oryx", "Paeania", "Paestum", "Pagae", "Palaikastro", "Pale", "Paliki", "Pallantium", "Pan Sanctuary", "Pandosia", "Panionium", "Panopeus", "Panticapaeum", "Paphos", "Parapotamii", "Parium", "Parorea", "Paros", "Parrhasia", "Patrae", "Pausanias", "Pelagonia", "Pella", "Pellene", "Pelusium", "Peparethos", "Peparethus", "Perachora", "Percote", "Perga", "Pergamon", "Perinthus", "Petalia", "Peteon", "Petras", "Petsofas", "Phacium", "Phaesana", "Phaistos", "Phalanthus", "Phalasarna", "Phanagoria", "Phanote", "Pharygae", "PhaselisPhasis", "Phelloe", "Pheneus", "Pherae", "Philae", "Philippi", "Phlius", "Phocaea", "Phocis", "Phoronicum", "Phourni", "Phylace", "Phylaki", "Phyle", "Piges tou Angiti", "Pimbleia", "Piraeus", "Pithecoussai", "Platanos", "Poicilasium", "Poikilassos", "Poliochne", "Polyrhenium", "Porphyris", "Poseidonia", "Poti Georgia", "Potidaea", "Pottery", "Pozzuoli", "Praesos", "Praesus", "Praisos", "Prassa", "Priene", "Prinias", "Proconnesus", "Propylaea", "Psamathos", "Pseira", "Psophis", "Psychro", "Pteleum", "Ptolederma", "Puteoli", "Pydna", "Pylos", "Pythion", "Pyxus", "Rakhmani", "Rethymnon", "Rhamnous", "Rhegium", "Rhegium Tetradrachm", "Rhene", "Rhizenia", "Rhode", "Rhodes", "Rhypes", "Rhytium", "Rithymna", "Sagalassos", "Salamis", "Salmone", "Salmonia", "Samos", "Samosata", "Samothrace", "Sane", "Santorini", "Sardis", "Scapte Hyle", "Scarphe", "Scepsis", "Scillus", "Scione", "Scolus", "Scythopolis", "Segesta", "Segesta Tetradrachm", "Seirai", "Seleucia", "Seleucia Samulias", "Seleucia Sidera", "Seleucia ad Belum", "Seleucia on the Tigris", "Selge", "Selinunte Didrachm", "Selinus", "Sellasia", "Selleis", "Selymbria", "Serapeum", "Sermyle", "Sesamus", "Sestos", "Sicyon", "Side", "Silifke", "Sinope", "Siris", "Sitagroi", "Sklavokambos", "Smyrna", "Smyrna Tetradrachm", "Snake Island", "Soli", "Solygia", "Sounion", "Sparta", "Stageira", "Stenyclarus", "Stratonicea", "Stratos", "Stravomyti", "Stylos", "Stylos Tholos", "Sybaris", "Sybrita", "Syracuse", "Sérapéum Théodule Devéria", "Taenarum", "Tamyna", "Tamynae", "Tanagra", "Tanais", "Taras", "Tarentum", "Tarrha", "Taucheira", "Tauric Chersonese", "Tegea", "Telos", "Temnos", "Tenea", "Tenedos", "Tenedos Tetradrachm", "Teos", "Teuthrone", "Teutlussa", "Thaliades", "Thapsus", "Thasos", "Thebes", "Thelpousa", "Thelpusa", "Theodosia", "Thera Acrotiri", "Thermae Himeraeae", "Thermodon", "Thermon", "Thermopylae", "Thespiae", "Thesprotia", "Thessaly", "Thisbe", "Thorikos", "Thrace", "Thracian Chersonese", "Thuriii", "Thyreae", "Thyrion", "Thyrreion", "Thyssus", "Tindari", "Tiryns", "Tome", "Tomis", "Torone", "Trachis", "Tragia", "Traostalos", "Trapezus", "Trikastro", "Troas", "Troezen", "Tropaia", "Troullos", "Tsangli", "Tylisos", "Tylissos", "Tyndaris", "Tyras", "Tzines Hill", "Ukraine", "Vari", "Vassiliki", "Vathypetro", "Velia", "Vergina", "Vouthroton", "Xantheia", "Xylenopolis", "Xypete", "Yioura", "Yrtakina", "Zacynthus", "Zakros", "Zarax", "Zephyrium", "Zerynthus", "Zeugma", "Zoster", "Zygouries", "İskenderun"]
21
21
 
22
22
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require_relative "../name.rb"
4
- require_relative "../ext/Array.rb"
5
4
 
6
5
  module RandomPerson
7
6
  module Names
@@ -11,12 +10,13 @@ module RandomPerson
11
10
  def initialize
12
11
  @names = Names
13
12
  @formats = [
14
- ->(n) { n.rand },
13
+ ->(n) { n.sample },
15
14
  ]
16
15
  @formats_ratiod = [ (0..99) ]
17
16
  super
18
17
  end
19
18
 
19
+ # @private
20
20
  Names = %w{ Acastus Admete Admetus Adrastus Aeetes Aegialeus Aeolus Aeschylus Agamemnon Aias Alastor Alcathous Alcestis Alcibiades Alcinoos Alcmene Anaximander Anchises Androcles Anius Anthemion Antilochos Antiphos Arcesilaos Archilocos Arete Argus Aristophanes Aristoteles Ascalaphos Astinoos Castor Chalcipe Charopos Chromios Clytius Cocalas Cratylus Creon Crethon Daedelus Deicoon Democoon Demosthenes Dido Diogenes Diomedes Diores Echemnon Echepolos Elephenor Epistrophes Ereuthalion Erginus Eumelos Euneus Eunos Euripides Euryales Eurymedon Eurypylos Eurystheus Gorge Gorgias Haimon Hecabe Heracles Heraclitus Hermagoras Herodotus Hicteon Hippolytus Hypsenor Hypsipyle Ialmenos Iasus Idaios Idomeneus Iolaus Iphicus Iphitos Laertes Lampos Laodice Leitos Leucas Longinus Lycomedes Manto Mecisteus Megamede Megara Meges Menelau Menestheus Meriones Midas Mynes Nestor Nineus Odysseus Oedipus Oeneus Oenopion Orsilochos Panthoos Paphos Peiros Pelasgon Peleus Peneleus Periboea Phaidimos Phaistos Phegeus Phereclos Philemon Philomeleides Phyleus Pittheus Platon Plotinus Podarcos Polydeuces Polyeides Priam Protagoras Protheoenor Pylaimenos Pythagoras Schedios Socrates Sthenelos Strophios Tecton Telamon Telopelemus Teucer Thepolemas Theseus Thespius Thoas Thoon Thrasymedes Thucydides Thymoites Tiresias Tyndareus Ucalegon Xanthos Zeno }
21
21
  end
22
22
  end