randomperson 0.0.19 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. data/.gitignore +2 -0
  2. data/CHANGELOG +2 -0
  3. data/Manifest +22 -2
  4. data/README.markdown +475 -0
  5. data/lib/randomperson/Loader.rb +62 -0
  6. data/lib/randomperson/Names/AmericanFemaleFirst.rb +10 -8
  7. data/lib/randomperson/Names/AmericanLast.rb +13 -10
  8. data/lib/randomperson/Names/AmericanMaleFirst.rb +11 -8
  9. data/lib/randomperson/Names/AmericanPrefix.rb +16 -18
  10. data/lib/randomperson/Names/AmericanSuffix.rb +26 -16
  11. data/lib/randomperson/Names/AncientGreekFemaleFirst.rb +12 -8
  12. data/lib/randomperson/Names/AncientGreekLast.rb +11 -8
  13. data/lib/randomperson/Names/AncientGreekMaleFirst.rb +11 -8
  14. data/lib/randomperson/Names/AnyLast.rb +11 -9
  15. data/lib/randomperson/Names/BasqueFemaleFirst.rb +10 -9
  16. data/lib/randomperson/Names/BasqueLast.rb +9 -8
  17. data/lib/randomperson/Names/BasqueMaleFirst.rb +10 -9
  18. data/lib/randomperson/Names/BritishPrefix.rb +10 -16
  19. data/lib/randomperson/Names/BritishSuffix.rb +21 -16
  20. data/lib/randomperson/Names/EnglishFemaleFirst.rb +10 -9
  21. data/lib/randomperson/Names/EnglishLast.rb +12 -11
  22. data/lib/randomperson/Names/EnglishMaleFirst.rb +10 -9
  23. data/lib/randomperson/Names/EnglishPrefix.rb +11 -15
  24. data/lib/randomperson/Names/FinnishFemaleFirst.rb +10 -8
  25. data/lib/randomperson/Names/FinnishLast.rb +9 -8
  26. data/lib/randomperson/Names/FinnishMaleFirst.rb +10 -9
  27. data/lib/randomperson/Names/FinnishPrefix.rb +16 -18
  28. data/lib/randomperson/Names/FrenchFemaleFirst.rb +10 -9
  29. data/lib/randomperson/Names/FrenchLast.rb +12 -11
  30. data/lib/randomperson/Names/FrenchMaleFirst.rb +11 -10
  31. data/lib/randomperson/Names/GermanFemaleFirst.rb +10 -9
  32. data/lib/randomperson/Names/GermanLast.rb +9 -8
  33. data/lib/randomperson/Names/GermanMaleFirst.rb +10 -9
  34. data/lib/randomperson/Names/ScottishFemaleFirst.rb +10 -9
  35. data/lib/randomperson/Names/ScottishLast.rb +11 -10
  36. data/lib/randomperson/Names/ScottishMaleFirst.rb +13 -12
  37. data/lib/randomperson/Names/ScottishPrefix.rb +10 -16
  38. data/lib/randomperson/Names/SpanishFemaleFirst.rb +11 -10
  39. data/lib/randomperson/Names/SpanishLast.rb +15 -12
  40. data/lib/randomperson/Names/SpanishMaleFirst.rb +12 -11
  41. data/lib/randomperson/Names/SpanishPrefix.rb +17 -19
  42. data/lib/randomperson/Names/SwedishFemaleFirst.rb +10 -9
  43. data/lib/randomperson/Names/SwedishLast.rb +10 -9
  44. data/lib/randomperson/Names/SwedishMaleFirst.rb +15 -14
  45. data/lib/randomperson/Names/ThaiFemaleFirst.rb +9 -8
  46. data/lib/randomperson/Names/ThaiFirst.rb +9 -8
  47. data/lib/randomperson/Names/ThaiLast.rb +9 -8
  48. data/lib/randomperson/Names/ThaiMaleFirst.rb +9 -8
  49. data/lib/randomperson/Names/ThaiRomanisedFemaleFirst.rb +10 -9
  50. data/lib/randomperson/Names/ThaiRomanisedLast.rb +11 -10
  51. data/lib/randomperson/Names/ThaiRomanisedMaleFirst.rb +10 -9
  52. data/lib/randomperson/Names/WelshFemaleFirst.rb +9 -8
  53. data/lib/randomperson/Names/WelshLast.rb +11 -10
  54. data/lib/randomperson/Names/WelshMaleFirst.rb +9 -8
  55. data/lib/randomperson/Names/WelshPrefix.rb +10 -16
  56. data/lib/randomperson/Outputter.rb +53 -0
  57. data/lib/randomperson/demographic.rb +75 -0
  58. data/lib/randomperson/ext/Array.rb +6 -2
  59. data/lib/randomperson/generator.rb +54 -77
  60. data/lib/randomperson/name.rb +18 -13
  61. data/lib/randomperson/person.rb +2 -0
  62. data/lib/randomperson/version.rb +1 -1
  63. data/lib/randomperson.rb +126 -1
  64. data/spec/AmericanSuffix_spec.rb +37 -0
  65. data/spec/AnyLast_spec.rb +25 -0
  66. data/spec/Last_and_First_Names_spec.rb +113 -0
  67. data/spec/array_spec.rb +49 -0
  68. data/spec/demographic_spec.rb +15 -0
  69. data/spec/generator_spec.rb +1 -4
  70. data/spec/name_spec.rb +3 -2
  71. data/spec/randomperson_spec.rb +321 -0
  72. data/spec/rspec_helper.rb +22 -0
  73. data/spec/support/helpers.rb +13 -0
  74. data/spec/support/matchers/all.rb +14 -0
  75. data/spec/support/matchers/be_in.rb +9 -0
  76. data/spec/support/shared_examples/names.rb +59 -0
  77. data/test/benchmarks/concat_or_add.rb +30 -0
  78. data/test/benchmarks/my_assoc_or_select.rb +60 -0
  79. data.tar.gz.sig +0 -0
  80. metadata +35 -7
  81. metadata.gz.sig +2 -3
  82. data/README +0 -324
  83. data/lib/randomperson/choice.rb +0 -113
  84. data/spec/choice_spec.rb +0 -13
@@ -1,23 +1,24 @@
1
1
  # encoding: UTF-8
2
2
 
3
+ require_relative "../name.rb"
4
+ require_relative "../ext/Array.rb"
5
+
3
6
  module RandomPerson
4
7
  module Names
5
8
 
6
9
  class ThaiFemaleFirst < Name
7
10
 
8
11
  def initialize
9
- @formats = {
10
- :single => ->(n) { n.rand },
11
- }
12
-
12
+ @names = Names
13
+ @formats = [
14
+ ->(n) { n.rand },
15
+ ]
13
16
  @formats_ratiod = [ (0..99)]
14
- setupnames
17
+ super
15
18
  end
16
19
 
17
20
 
18
- def setupnames
19
- @names = %w{ สิริกิติ์ กานดา แก้วเก้า ขจี ขวัญใจ ชนิภรณ์ ฐิติภรณ์ ณี ดวงกมล เดือนเพ็ญ นงนุช นภสร นริศา นัยนา นาก นีราชา บุญศรี บุษราคัม พรพรรณ พรพันธ์ พรพันธุ์ พรรณี อมรรัตน์ อุบล หทัย หนิว สุริยา สุรี ศศิธร ศิริพร ศิริวรรณ สมร สังวาล สายสมร สุดา สุนีย์ รัตน์ รินรดา รื่นฤดี ฤดี ฤทัย ภรณ์พรรณ ภรณ์พันธ์ ภรณ์พันธุ์ มณี มาลี กนกพร กมล กฤษฏิ์ กาญจนา กุญชนิตา กุมโชค กุลพันธ์ เกษม ขนิษฐา ขวัญจิต จันทร์สิริ จารุวรรณ จุลภาส เจือ ฉลวย เฉลิม ชนะ ชนินทร์ คลัง จตุพล ชมเกดุ ชวน ชัยพร ชาติชาย ชิด ชุ่ม ชูวิทย์ เซติยัง เซติอาวัน ญาณิน ฐิตวรรณ ณรงค์ศักดิ์ ณัฎฐา ณัฐิมา ดวงใจ แดง ตนุพล ถนัด ถวิล ทวีฉัตร ทวีป ทวีวงศ์ ทวีศักดิ์ ทักษิณ ทัศนีย์ ธงชัย ธนากร ธีรภัทร ธีรศักดิ์ นงลักษณ์ นพรัตน์ นฤมล นาค นิตยา เนาวรัตน์ บัญญัติ บัณฑิตา บุญยง บุญเยี่ยม บุญรัตน์ บุศวรรณ ปฏิภาณ ปฐม ประชา ประดิษฐ์ ประทีป ประทุม ประภาส ประมนต์ ประมุข ประวิตร ประเวช ประเวศ ประสาน ปรัชญา ปราณี ปริญญา ป้อง ปานใจ ปานเทพ ปาริชาติ ปิยบุตร ปิยวรรณ ปิยะคม ปีย์รติ ผ่องเพ็ญ ผาณิต เผด็จ พนม พยนต์ พรชัย พรรัมภา พลเดช พัชรพร พัฒนา พาณิชย์ พาที พิจิตร พิชิต พินิจ พิภพ พิมพ์ใจ พิมพ์วสี พิริยะ พูนศักดิ์ เพ็ญสุขภรณ์ เพิ่ม ไพฑูรย์ ไพบูลย์ ไพรัช ไพศักดิ์ ไพศาล ภานุพัฒน์ ภาสุระ ภิรมย์ ภุชงค์ ภูมินทร์ ภูมิพัฒน์ มงคล มนตรี มโน มานิจ มานิตย์ มารวย มุกดา ยิ่งยศ ยุพิน ยุวรัตน์ รื่น รุ่งสิทธิ์ วรพร วรภัทร วราภรณ์ วัชราภรณ์ วัฒนา วัลลภ วัลลภา วิจารณ์ วิจิตร วิเชียร วิทยา วิโรจน์ วิลาศ วิเศษ วีรยุทธ์ วีรศักดิ์ วีระชาติ วีระชาย วีระพล วีระพันธุ์ วีระศักดิ์ ศรีศักดิ์ ศักดา ศักดิ์ทิพย์ ศิริโชค ศิริณี ศิริพงศ์ ศิริพล ศิริรัตน์ ศุภผล ศุภรัตน์ ศุภวิทย์ สกุล สนั่น สนิท สมควร สมคิด สมชาย สมโชค สมทรง สมบัติ สมบุญ สมพงษ์ สมพร สมเพียร สมภพ สมยศ สมรัตน์ สมลักษณ์ สมศรี สมศักดิ์ สมหมาย สมัคร สริตา สลิลธร สวัสดิ์ สว่าง สันติ สากล สาธิต สาธิตยัง สามารถ สายพิณ สาวิทย์ สิงห์ สิทธิ สิริรักษ์ สีห์ศักดิ์ สุกัญญา สุจิต สุจินดา สุชาดา สุชาดาจะ สุชาติ สุชาย สุทธิพงศ์ สุทธิพล สุเทพ สุธรรม สุนทรี สุนัย สุนี สุประภา สุพรรณ สุพิชา สุภาพ สุภาภรณ์ สุรัตน์ สุริยะ สุวรรณ สุวิชา สุหัตถ์ เสรี อดิศักดิ์ อนันต์ อภิชาต อภิชาติ อภิญญา อภิรักษ์ อภิศักดิ์ อริศรา อรุณศรี อัญญาณี อัษรา อาณัติ อารง อารีพงศ์ อุบลวรรณ เอกพงษ์ เอกใหม่ }
20
- end
21
+ Names = %w{ สิริกิติ์ กานดา แก้วเก้า ขจี ขวัญใจ ชนิภรณ์ ฐิติภรณ์ ณี ดวงกมล เดือนเพ็ญ นงนุช นภสร นริศา นัยนา นาก นีราชา บุญศรี บุษราคัม พรพรรณ พรพันธ์ พรพันธุ์ พรรณี อมรรัตน์ อุบล หทัย หนิว สุริยา สุรี ศศิธร ศิริพร ศิริวรรณ สมร สังวาล สายสมร สุดา สุนีย์ รัตน์ รินรดา รื่นฤดี ฤดี ฤทัย ภรณ์พรรณ ภรณ์พันธ์ ภรณ์พันธุ์ มณี มาลี กนกพร กมล กฤษฏิ์ กาญจนา กุญชนิตา กุมโชค กุลพันธ์ เกษม ขนิษฐา ขวัญจิต จันทร์สิริ จารุวรรณ จุลภาส เจือ ฉลวย เฉลิม ชนะ ชนินทร์ คลัง จตุพล ชมเกดุ ชวน ชัยพร ชาติชาย ชิด ชุ่ม ชูวิทย์ เซติยัง เซติอาวัน ญาณิน ฐิตวรรณ ณรงค์ศักดิ์ ณัฎฐา ณัฐิมา ดวงใจ แดง ตนุพล ถนัด ถวิล ทวีฉัตร ทวีป ทวีวงศ์ ทวีศักดิ์ ทักษิณ ทัศนีย์ ธงชัย ธนากร ธีรภัทร ธีรศักดิ์ นงลักษณ์ นพรัตน์ นฤมล นาค นิตยา เนาวรัตน์ บัญญัติ บัณฑิตา บุญยง บุญเยี่ยม บุญรัตน์ บุศวรรณ ปฏิภาณ ปฐม ประชา ประดิษฐ์ ประทีป ประทุม ประภาส ประมนต์ ประมุข ประวิตร ประเวช ประเวศ ประสาน ปรัชญา ปราณี ปริญญา ป้อง ปานใจ ปานเทพ ปาริชาติ ปิยบุตร ปิยวรรณ ปิยะคม ปีย์รติ ผ่องเพ็ญ ผาณิต เผด็จ พนม พยนต์ พรชัย พรรัมภา พลเดช พัชรพร พัฒนา พาณิชย์ พาที พิจิตร พิชิต พินิจ พิภพ พิมพ์ใจ พิมพ์วสี พิริยะ พูนศักดิ์ เพ็ญสุขภรณ์ เพิ่ม ไพฑูรย์ ไพบูลย์ ไพรัช ไพศักดิ์ ไพศาล ภานุพัฒน์ ภาสุระ ภิรมย์ ภุชงค์ ภูมินทร์ ภูมิพัฒน์ มงคล มนตรี มโน มานิจ มานิตย์ มารวย มุกดา ยิ่งยศ ยุพิน ยุวรัตน์ รื่น รุ่งสิทธิ์ วรพร วรภัทร วราภรณ์ วัชราภรณ์ วัฒนา วัลลภ วัลลภา วิจารณ์ วิจิตร วิเชียร วิทยา วิโรจน์ วิลาศ วิเศษ วีรยุทธ์ วีรศักดิ์ วีระชาติ วีระชาย วีระพล วีระพันธุ์ วีระศักดิ์ ศรีศักดิ์ ศักดา ศักดิ์ทิพย์ ศิริโชค ศิริณี ศิริพงศ์ ศิริพล ศิริรัตน์ ศุภผล ศุภรัตน์ ศุภวิทย์ สกุล สนั่น สนิท สมควร สมคิด สมชาย สมโชค สมทรง สมบัติ สมบุญ สมพงษ์ สมพร สมเพียร สมภพ สมยศ สมรัตน์ สมลักษณ์ สมศรี สมศักดิ์ สมหมาย สมัคร สริตา สลิลธร สวัสดิ์ สว่าง สันติ สากล สาธิต สาธิตยัง สามารถ สายพิณ สาวิทย์ สิงห์ สิทธิ สิริรักษ์ สีห์ศักดิ์ สุกัญญา สุจิต สุจินดา สุชาดา สุชาดาจะ สุชาติ สุชาย สุทธิพงศ์ สุทธิพล สุเทพ สุธรรม สุนทรี สุนัย สุนี สุประภา สุพรรณ สุพิชา สุภาพ สุภาภรณ์ สุรัตน์ สุริยะ สุวรรณ สุวิชา สุหัตถ์ เสรี อดิศักดิ์ อนันต์ อภิชาต อภิชาติ อภิญญา อภิรักษ์ อภิศักดิ์ อริศรา อรุณศรี อัญญาณี อัษรา อาณัติ อารง อารีพงศ์ อุบลวรรณ เอกพงษ์ เอกใหม่ }
21
22
 
22
23
  end
23
24
  end
@@ -1,23 +1,24 @@
1
1
  # encoding: UTF-8
2
2
 
3
+ require_relative "../name.rb"
4
+ require_relative "../ext/Array.rb"
5
+
3
6
  module RandomPerson
4
7
  module Names
5
8
 
6
9
  class ThaiFirst < Name
7
10
 
8
11
  def initialize
9
- @formats = {
10
- :single => ->(n) { n.rand },
11
- }
12
-
12
+ @names = Names
13
+ @formats = [
14
+ ->(n) { n.rand },
15
+ ]
13
16
  @formats_ratiod = [ (0..99)]
14
- setupnames
17
+ super
15
18
  end
16
19
 
17
20
 
18
- def setupnames
19
- @names = %w{ กมล กาญจนา เกษม จารุวรรณ ดวงใจ ถนอม ทัศนีย์ ธงชัย ธิดา ณรงค์ นงลักษณ์ นพดล นฤมล นิตยา บัญชา ประจักษ์ ประชา ประทุม ปัญญา ปราณี ปรีชา พรชัย พรรณี ไพบูลย์ ไพโรจน์ มนตรี มานะ มานิตย์ มาลี ยุพิน รัชนี รัตนา วัฒนา วราภรณ์ วาสนา วิเชียร วินัย วิโรจน์ ศศิธร ศิริพร สมชาย สมทรง สมพร สมหมาย สมศรี สำราญ สุกัญญา สุชาดา สุชาติ สุเทพ สุนีย์ สุภาภรณ์ อนงค์ อนันต์ }
20
- end
21
+ Names = %w{ กมล กาญจนา เกษม จารุวรรณ ดวงใจ ถนอม ทัศนีย์ ธงชัย ธิดา ณรงค์ นงลักษณ์ นพดล นฤมล นิตยา บัญชา ประจักษ์ ประชา ประทุม ปัญญา ปราณี ปรีชา พรชัย พรรณี ไพบูลย์ ไพโรจน์ มนตรี มานะ มานิตย์ มาลี ยุพิน รัชนี รัตนา วัฒนา วราภรณ์ วาสนา วิเชียร วินัย วิโรจน์ ศศิธร ศิริพร สมชาย สมทรง สมพร สมหมาย สมศรี สำราญ สุกัญญา สุชาดา สุชาติ สุเทพ สุนีย์ สุภาภรณ์ อนงค์ อนันต์ }
21
22
  end
22
23
  end
23
24
  end
@@ -1,23 +1,24 @@
1
1
  # encoding: UTF-8
2
2
 
3
+ require_relative "../name.rb"
4
+ require_relative "../ext/Array.rb"
5
+
3
6
  module RandomPerson
4
7
  module Names
5
8
 
6
9
  class ThaiLast < Name
7
10
 
8
11
  def initialize
9
- @formats = {
10
- :single => ->(n) { n.rand },
11
- }
12
-
12
+ @names = Names
13
+ @formats = [
14
+ ->(n) { n.rand },
15
+ ]
13
16
  @formats_ratiod = [ (0..99)]
14
- setupnames
17
+ super
15
18
  end
16
19
 
17
20
 
18
- def setupnames
19
- @names = %w{ ธงไชย อิงลิช พูนลาภ โลโซ เจริญปุระ อรทัย ชินวัตร สยาม เวชชาชีวะ สะเมิง ปาย ฝาง สารภี อมก๋อย เทิง งาว เถิน สงขลา ชลบุรี นราธิวาส ยะลา ปัตตานี ระนอง พะเยา ลำปาง ลำพูน อุตรดิตถ์ พิษณุโลก เลย เพชรบูรณ์ ชัยภูมิ ลพบุรี โคราช สระบุรี นนทบุรี พิจิตร สุโขทัย ตาก กาญจนบุรี ราชบุรี แพร่ มุกดาหาร ยโสธร ศรีสะเกษ สุรินทร์ บุรีรัมย์ เพชรบุรี กาฬสินธุ์ บุรีรัมย์ ศรีอยุธยา สวรรค์ ปฐม นายก ปราการ สาคร สงคราม พัทลุง สตูล ตรัง กระบี่ ชุมพร ตราด ฉะเชิงเทรา สกล พนม }
20
- end
21
+ Names = %w{ ธงไชย อิงลิช พูนลาภ โลโซ เจริญปุระ อรทัย ชินวัตร สยาม เวชชาชีวะ สะเมิง ปาย ฝาง สารภี อมก๋อย เทิง งาว เถิน สงขลา ชลบุรี นราธิวาส ยะลา ปัตตานี ระนอง พะเยา ลำปาง ลำพูน อุตรดิตถ์ พิษณุโลก เลย เพชรบูรณ์ ชัยภูมิ ลพบุรี โคราช สระบุรี นนทบุรี พิจิตร สุโขทัย ตาก กาญจนบุรี ราชบุรี แพร่ มุกดาหาร ยโสธร ศรีสะเกษ สุรินทร์ บุรีรัมย์ เพชรบุรี กาฬสินธุ์ บุรีรัมย์ ศรีอยุธยา สวรรค์ ปฐม นายก ปราการ สาคร สงคราม พัทลุง สตูล ตรัง กระบี่ ชุมพร ตราด ฉะเชิงเทรา สกล พนม }
21
22
 
22
23
  end
23
24
 
@@ -1,23 +1,24 @@
1
1
  # encoding: UTF-8
2
2
 
3
+ require_relative "../name.rb"
4
+ require_relative "../ext/Array.rb"
5
+
3
6
  module RandomPerson
4
7
  module Names
5
8
 
6
9
  class ThaiMaleFirst < Name
7
10
 
8
11
  def initialize
9
- @formats = {
10
- :single => ->(n) { n.rand },
11
- }
12
-
12
+ @names = Names
13
+ @formats = [
14
+ ->(n) { n.rand },
15
+ ]
13
16
  @formats_ratiod = [ (0..99)]
14
- setupnames
17
+ super
15
18
  end
16
19
 
17
20
 
18
- def setupnames
19
- @names = %w{ นพคุณ กระสินธ์ กล้าหาญ ขวัญชัย จักรี ชัยอนันต์ ชาญชัย ชาติ เชาวน์ ดุสิต ธเนศ ยุทธ์ มนู มณู ประสิทธิ ประวิทย์ ประเสริฐ ปรีชา พนิต ราม วันพล วิชัย วิรัช วิริยะ วิศิษฏ์ ศิริ ศุภชัย สนธิ สมบูรณ์ สุพิศ สุเมธ สุวิทย์ อนันตชัย อัษฎา อาทิตย์ อุกิต อุดม วินัย เปรม ปัญญา ประสงค์ อักขระ อภิสิทธิ์ อนุชา รอง ศุภวุฒิ วีระ กนกพร กมล กฤษฏิ์ กาญจนา กุญชนิตา กุมโชค กุลพันธ์ เกษม ขนิษฐา ขวัญจิต จันทร์สิริ จารุวรรณ จุลภาส เจือ ฉลวย เฉลิม ชนะ ชนินทร์ คลัง จตุพล ชมเกดุ ชวน ชัยพร ชาติชาย ชิด ชุ่ม ชูวิทย์ เซติยัง เซติอาวัน ญาณิน ฐิตวรรณ ณรงค์ศักดิ์ ณัฎฐา ณัฐิมา ดวงใจ แดง ตนุพล ถนัด ถวิล ทวีฉัตร ทวีป ทวีวงศ์ ทวีศักดิ์ ทักษิณ ทัศนีย์ ธงชัย ธนากร ธีรภัทร ธีรศักดิ์ นงลักษณ์ นพรัตน์ นฤมล นาค นิตยา เนาวรัตน์ บัญญัติ บัณฑิตา บุญยง บุญเยี่ยม บุญรัตน์ บุศวรรณ ปฏิภาณ ปฐม ประชา ประดิษฐ์ ประทีป ประทุม ประภาส ประมนต์ ประมุข ประวิตร ประเวช ประเวศ ประสาน ปรัชญา ปราณี ปริญญา ป้อง ปานใจ ปานเทพ ปาริชาติ ปิยบุตร ปิยวรรณ ปิยะคม ปีย์รติ ผ่องเพ็ญ ผาณิต เผด็จ พนม พยนต์ พรชัย พรรัมภา พลเดช พัชรพร พัฒนา พาณิชย์ พาที พิจิตร พิชิต พินิจ พิภพ พิมพ์ใจ พิมพ์วสี พิริยะ พูนศักดิ์ เพ็ญสุขภรณ์ เพิ่ม ไพฑูรย์ ไพบูลย์ ไพรัช ไพศักดิ์ ไพศาล ภานุพัฒน์ ภาสุระ ภิรมย์ ภุชงค์ ภูมินทร์ ภูมิพัฒน์ มงคล มนตรี มโน มานิจ มานิตย์ มารวย มุกดา ยิ่งยศ ยุพิน ยุวรัตน์ รื่น รุ่งสิทธิ์ วรพร วรภัทร วราภรณ์ วัชราภรณ์ วัฒนา วัลลภ วัลลภา วิจารณ์ วิจิตร วิเชียร วิทยา วิโรจน์ วิลาศ วิเศษ วีรยุทธ์ วีรศักดิ์ วีระชาติ วีระชาย วีระพล วีระพันธุ์ วีระศักดิ์ ศรีศักดิ์ ศักดา ศักดิ์ทิพย์ ศิริโชค ศิริณี ศิริพงศ์ ศิริพล ศิริรัตน์ ศุภผล ศุภรัตน์ ศุภวิทย์ สกุล สนั่น สนิท สมควร สมคิด สมชาย สมโชค สมทรง สมบัติ สมบุญ สมพงษ์ สมพร สมเพียร สมภพ สมยศ สมรัตน์ สมลักษณ์ สมศรี สมศักดิ์ สมหมาย สมัคร สริตา สลิลธร สวัสดิ์ สว่าง สันติ สากล สาธิต สาธิตยัง สามารถ สายพิณ สาวิทย์ สิงห์ สิทธิ สิริรักษ์ สีห์ศักดิ์ สุกัญญา สุจิต สุจินดา สุชาดา สุชาดาจะ สุชาติ สุชาย สุทธิพงศ์ สุทธิพล สุเทพ สุธรรม สุนทรี สุนัย สุนี สุประภา สุพรรณ สุพิชา สุภาพ สุภาภรณ์ สุรัตน์ สุริยะ สุวรรณ สุวิชา สุหัตถ์ เสรี อดิศักดิ์ อนันต์ อภิชาต อภิชาติ อภิญญา อภิรักษ์ อภิศักดิ์ อริศรา อรุณศรี อัญญาณี อัษรา อาณัติ อารง อารีพงศ์ อุบลวรรณ เอกพงษ์ เอกใหม่ }
20
- end
21
+ Names = %w{ นพคุณ กระสินธ์ กล้าหาญ ขวัญชัย จักรี ชัยอนันต์ ชาญชัย ชาติ เชาวน์ ดุสิต ธเนศ ยุทธ์ มนู มณู ประสิทธิ ประวิทย์ ประเสริฐ ปรีชา พนิต ราม วันพล วิชัย วิรัช วิริยะ วิศิษฏ์ ศิริ ศุภชัย สนธิ สมบูรณ์ สุพิศ สุเมธ สุวิทย์ อนันตชัย อัษฎา อาทิตย์ อุกิต อุดม วินัย เปรม ปัญญา ประสงค์ อักขระ อภิสิทธิ์ อนุชา รอง ศุภวุฒิ วีระ กนกพร กมล กฤษฏิ์ กาญจนา กุญชนิตา กุมโชค กุลพันธ์ เกษม ขนิษฐา ขวัญจิต จันทร์สิริ จารุวรรณ จุลภาส เจือ ฉลวย เฉลิม ชนะ ชนินทร์ คลัง จตุพล ชมเกดุ ชวน ชัยพร ชาติชาย ชิด ชุ่ม ชูวิทย์ เซติยัง เซติอาวัน ญาณิน ฐิตวรรณ ณรงค์ศักดิ์ ณัฎฐา ณัฐิมา ดวงใจ แดง ตนุพล ถนัด ถวิล ทวีฉัตร ทวีป ทวีวงศ์ ทวีศักดิ์ ทักษิณ ทัศนีย์ ธงชัย ธนากร ธีรภัทร ธีรศักดิ์ นงลักษณ์ นพรัตน์ นฤมล นาค นิตยา เนาวรัตน์ บัญญัติ บัณฑิตา บุญยง บุญเยี่ยม บุญรัตน์ บุศวรรณ ปฏิภาณ ปฐม ประชา ประดิษฐ์ ประทีป ประทุม ประภาส ประมนต์ ประมุข ประวิตร ประเวช ประเวศ ประสาน ปรัชญา ปราณี ปริญญา ป้อง ปานใจ ปานเทพ ปาริชาติ ปิยบุตร ปิยวรรณ ปิยะคม ปีย์รติ ผ่องเพ็ญ ผาณิต เผด็จ พนม พยนต์ พรชัย พรรัมภา พลเดช พัชรพร พัฒนา พาณิชย์ พาที พิจิตร พิชิต พินิจ พิภพ พิมพ์ใจ พิมพ์วสี พิริยะ พูนศักดิ์ เพ็ญสุขภรณ์ เพิ่ม ไพฑูรย์ ไพบูลย์ ไพรัช ไพศักดิ์ ไพศาล ภานุพัฒน์ ภาสุระ ภิรมย์ ภุชงค์ ภูมินทร์ ภูมิพัฒน์ มงคล มนตรี มโน มานิจ มานิตย์ มารวย มุกดา ยิ่งยศ ยุพิน ยุวรัตน์ รื่น รุ่งสิทธิ์ วรพร วรภัทร วราภรณ์ วัชราภรณ์ วัฒนา วัลลภ วัลลภา วิจารณ์ วิจิตร วิเชียร วิทยา วิโรจน์ วิลาศ วิเศษ วีรยุทธ์ วีรศักดิ์ วีระชาติ วีระชาย วีระพล วีระพันธุ์ วีระศักดิ์ ศรีศักดิ์ ศักดา ศักดิ์ทิพย์ ศิริโชค ศิริณี ศิริพงศ์ ศิริพล ศิริรัตน์ ศุภผล ศุภรัตน์ ศุภวิทย์ สกุล สนั่น สนิท สมควร สมคิด สมชาย สมโชค สมทรง สมบัติ สมบุญ สมพงษ์ สมพร สมเพียร สมภพ สมยศ สมรัตน์ สมลักษณ์ สมศรี สมศักดิ์ สมหมาย สมัคร สริตา สลิลธร สวัสดิ์ สว่าง สันติ สากล สาธิต สาธิตยัง สามารถ สายพิณ สาวิทย์ สิงห์ สิทธิ สิริรักษ์ สีห์ศักดิ์ สุกัญญา สุจิต สุจินดา สุชาดา สุชาดาจะ สุชาติ สุชาย สุทธิพงศ์ สุทธิพล สุเทพ สุธรรม สุนทรี สุนัย สุนี สุประภา สุพรรณ สุพิชา สุภาพ สุภาภรณ์ สุรัตน์ สุริยะ สุวรรณ สุวิชา สุหัตถ์ เสรี อดิศักดิ์ อนันต์ อภิชาต อภิชาติ อภิญญา อภิรักษ์ อภิศักดิ์ อริศรา อรุณศรี อัญญาณี อัษรา อาณัติ อารง อารีพงศ์ อุบลวรรณ เอกพงษ์ เอกใหม่ }
21
22
 
22
23
  end
23
24
  end
@@ -1,22 +1,23 @@
1
1
  # encoding: UTF-8
2
2
 
3
+ require_relative "../name.rb"
4
+ require_relative "../ext/Array.rb"
5
+
3
6
  module RandomPerson
4
7
  module Names
5
8
 
6
9
  class ThaiRomanisedFemaleFirst < Name
7
10
 
8
11
  def initialize
9
- @formats = {
10
- :single => ->(n) { n.rand },
11
- }
12
-
12
+ @names = Names
13
+ @formats = [
14
+ ->(n) { n.rand },
15
+ ]
13
16
  @formats_ratiod = [ (0..99)]
14
- setupnames
17
+ super
15
18
  end
16
19
 
17
- def setupnames
18
- @names = %w{ Abhasra Achara Adung Anchali Apsara Ban Banjit Benjakalyani Boon-Nam Boon-Mee Busaba Butri Cantana Catchada Chaiama Chalermwan Chanachai Chandra Chanhira Chanthara Chao-Fa Charanya Chariya Charoen Charoenrasamee Charunee Chatmanee Chatrsuda Chatumas Chaveevan Chawiwan Chintana Chirawan Choi Chomechai Chomesri Chomsiri Chuachan Chuasiri Chulaborn Chumbot Churai Damni Dao Dhipyamongko Dok Dok-Rak Duan Duang-Prapha Hansa Jaidee Jintana Kaeo Kalaya Kamala Kamchana Kanchana Kanita Kannika Kanya Khae Khun Khunying Kimnai Klip Kohsoom Krijak Kultilda Kwaanfah Kwanjai Lalana Lamai Lamom Lek Lukden Ma-Dee Mae Mae-Duna Mae-Khao Mae-Noi Mae-Pia Mae-Ying-Thahan Mai Malee Mali Malivalaya Maliwan Manee Mani Manya-Phathon Maprang Mekhala Mekhalaa Mekhla Monthani Naruemon Ngam Ngor Nim Nimnuan Nittaya Noi Noklek Noom Pakpao Petchra Phak-Phimonphan Phan Phara Phi Phim Piam Pichitra Pitsamai Prahong Pranee Prang Praphat Rajini Ramphoei Ratana Rochana Rutana Saeng Sangwan Saowapa Sarai Sarakit Savitree Sawat Simla Sirikit Sirindhorn Somawadi Son-Klin Songsuda Sri-Patana Srinak Srisuriyothai Sua Suchada Sugunya Sukanda Sukonta Sumalee Sumana Sunanda Sunatda Sunetra Sunisa Supaporn Sureeporn Talap Tamarine Thaksincha Thao-Ap Thiang Tida Tookta Tppiwan Tui Tuk Tukata Tulaya Tum Tuptim Ubolratana Um Ung Wani-Ratana-Kanya Wipa Wismita Yaowalak Yen Ying Yodmani }
19
- end
20
+ Names = %w{ Abhasra Achara Adung Anchali Apsara Ban Banjit Benjakalyani Boon-Nam Boon-Mee Busaba Butri Cantana Catchada Chaiama Chalermwan Chanachai Chandra Chanhira Chanthara Chao-Fa Charanya Chariya Charoen Charoenrasamee Charunee Chatmanee Chatrsuda Chatumas Chaveevan Chawiwan Chintana Chirawan Choi Chomechai Chomesri Chomsiri Chuachan Chuasiri Chulaborn Chumbot Churai Damni Dao Dhipyamongko Dok Dok-Rak Duan Duang-Prapha Hansa Jaidee Jintana Kaeo Kalaya Kamala Kamchana Kanchana Kanita Kannika Kanya Khae Khun Khunying Kimnai Klip Kohsoom Krijak Kultilda Kwaanfah Kwanjai Lalana Lamai Lamom Lek Lukden Ma-Dee Mae Mae-Duna Mae-Khao Mae-Noi Mae-Pia Mae-Ying-Thahan Mai Malee Mali Malivalaya Maliwan Manee Mani Manya-Phathon Maprang Mekhala Mekhalaa Mekhla Monthani Naruemon Ngam Ngor Nim Nimnuan Nittaya Noi Noklek Noom Pakpao Petchra Phak-Phimonphan Phan Phara Phi Phim Piam Pichitra Pitsamai Prahong Pranee Prang Praphat Rajini Ramphoei Ratana Rochana Rutana Saeng Sangwan Saowapa Sarai Sarakit Savitree Sawat Simla Sirikit Sirindhorn Somawadi Son-Klin Songsuda Sri-Patana Srinak Srisuriyothai Sua Suchada Sugunya Sukanda Sukonta Sumalee Sumana Sunanda Sunatda Sunetra Sunisa Supaporn Sureeporn Talap Tamarine Thaksincha Thao-Ap Thiang Tida Tookta Tppiwan Tui Tuk Tukata Tulaya Tum Tuptim Ubolratana Um Ung Wani-Ratana-Kanya Wipa Wismita Yaowalak Yen Ying Yodmani }
20
21
  end
21
22
  end
22
- end
23
+ end
@@ -1,23 +1,24 @@
1
1
  # encoding: UTF-8
2
2
 
3
+ require_relative "../name.rb"
4
+ require_relative "../ext/Array.rb"
5
+
3
6
  module RandomPerson
4
7
  module Names
5
8
 
6
9
  class ThaiRomanisedLast < Name
7
10
 
8
11
  def initialize
9
- @formats = {
10
- :single => ->(n) { n.rand },
11
- :double_barrelled => ->(n){ n.rand + ' ' + n.rand },
12
- }
13
-
12
+ @names = Names
13
+ @formats = [
14
+ ->(n) { n.rand },
15
+ ->(n){ n.rand + ' ' + n.rand },
16
+ ]
14
17
  @formats_ratiod = [ 0..49, 50..99 ]
15
- setupnames
18
+ super
16
19
  end
17
20
 
18
- def setupnames
19
- @names = %w{ Aromdee Atitarn Bunyasarn Chaiprasit Chaisurivirat Jetatikarn Jetjirawat Juntasa Kadesadayurat Kaewburesai Kaouthai Kasamsun Kitjakarn Kongkatitum Kongpaisarn Kongsangchai Kraiputra Kunakorn Kunchai Kurusarttra Leekpai Leelapun Lertkunakorn Maleenon Maneerattana Meesang Narkbunnum Narkhirunkanok Nimitwanitch Ornlamai Paowsong Parnpradub Parnthong Pornpipatpong Prasongsanti Puntasrima Punyawong Rojjanasukchai Rojumanong Saenamuang Sakda Sangsorn Shinawatra Sirisopa Somchai Somwan Songprawati Sripituksakul Srisati Sriwarunyu Sukbunsung Suntornnitikul Suppamongkon Suttirat Tawisuwan Thumying Tuntayakul Udomprecha Vipavakit Visalyaputra Wattanapanit Wattanasin Yongjaiyut Yuvaves }
20
- end
21
+ Names = %w{ Aromdee Atitarn Bunyasarn Chaiprasit Chaisurivirat Jetatikarn Jetjirawat Juntasa Kadesadayurat Kaewburesai Kaouthai Kasamsun Kitjakarn Kongkatitum Kongpaisarn Kongsangchai Kraiputra Kunakorn Kunchai Kurusarttra Leekpai Leelapun Lertkunakorn Maleenon Maneerattana Meesang Narkbunnum Narkhirunkanok Nimitwanitch Ornlamai Paowsong Parnpradub Parnthong Pornpipatpong Prasongsanti Puntasrima Punyawong Rojjanasukchai Rojumanong Saenamuang Sakda Sangsorn Shinawatra Sirisopa Somchai Somwan Songprawati Sripituksakul Srisati Sriwarunyu Sukbunsung Suntornnitikul Suppamongkon Suttirat Tawisuwan Thumying Tuntayakul Udomprecha Vipavakit Visalyaputra Wattanapanit Wattanasin Yongjaiyut Yuvaves }
21
22
  end
22
23
  end
23
- end
24
+ end
@@ -1,22 +1,23 @@
1
1
  # encoding: UTF-8
2
2
 
3
+ require_relative "../name.rb"
4
+ require_relative "../ext/Array.rb"
5
+
3
6
  module RandomPerson
4
7
  module Names
5
8
 
6
9
  class ThaiRomanisedMaleFirst < Name
7
10
 
8
11
  def initialize
9
- @formats = {
10
- :single => ->(n) { n.rand },
11
- }
12
-
12
+ @names = Names
13
+ @formats = [
14
+ ->(n) { n.rand },
15
+ ]
13
16
  @formats_ratiod = [ (0..99)]
14
- setupnames
17
+ super
15
18
  end
16
19
 
17
- def setupnames
18
- @names = %w{ Alak Ananda Annan Anuia Anuman Anurak Badinton Baharn Bahn Bapit Baroma Bhakdi Bhumipol Boon-Mee Boon-Nam Burimas Burut Cha Chai Chairat Chaiyanuchit Chaiyo Chakri Chalerm Chalermchai Changsai Chanthara Chao-Khun-Sa Chao-Tak Charoen Charoensom Charong Chatchalerm Chatchom Chatri Chaturon Chavalit Chesda Chomanan Chompoo Chongrak Choochai Choonhavan Choonhavon Chuachai Chuanchen Chuia Chula Chulalongkorn Chulamai Churai Chuthamani Daeng Darin Deng Dhipyamongkol Disnadda Ditaka Dithakar Dok Duchanee Emjaroen Erawan Fah Fufanwonich Gee Hainad Hanuman Intradit Ittiporn Jaidee Jao Jarunsuk Jatukamramthep Jayavarman Kamnan Kanda Karmatha Kasem Kasemchai Kasemsan Keetau Khakanang Khun Kiet Kit Kitti Kittibun Kittichai Kittichat Kittikchorn Kob Komalat Kongsampong Korn Kovit Kraisee Kraisingha Krarayoon Kriengsak Kris Krita Krom-Luang Kukrit Kusa Kwanchai Kwanjai Lamom Lamon Lap Leekpai Leekpie Lek Loesan Luk Maha Mahidol Malian Manitho Mee Mengrai Metananda Mok Mokkhavesa Mongkut Monyakul Muoi Nadee Nai-Thim Nak Nang-Klao Narai Naresuan Naris Narisa Net Ngam Nikom Nikon Nintau Niran Nit Noi Nongchai Noppadon Norachai Nuananong Nui Nung Nuta-Laya Obb Othong Pairat Paitoon Pakhdi Palat Panyarachun Paramendr Parnchand Pattama Pet Petchara Petchra Phaibun Phara Phinihan Phraisong Phrom-Borirak Phya Pichai Pichit Pira Pra Prachuab Pramoj Prasong Pravat Praves Praya Pricha Prisna Proi Pu Rachotai Rak Ramkamhaeng Rangsan Ratanankorn Ratsami Sajja Sanouk Santichai Sanun Sap Sarawong Sarit Sataheep Satrud Sawat Seni Si Siam Sinn Sombat Somchai Somdet-Ong-Yai Somdetch Sompron Son Songgram Soo Sook Sophuk Sri Srimuang Su Suda Sudarak Suk Sulak Sum Sumatra Sunan Sundaravej Suntarankul Sunti Sup Suphatra Suphayok Supoj Supp Supsampantuwongse Suriwongse Suriyawong Sutep Tai Tak-Sin Tam Tau Tep Tham-Boon Thammaraja Thanarat Thanit Thawanya Thawi Thongkon Thurdchai Ti Tiloka Ting Tinsulaananda Tinsulanonda Ton Tong Totsakan Toy Ubol Udom Unakan Vajiralongkorn Vajiravudh Vessandan Vidura Wasi Wattana Wiset Witsanunat Wongsa Xuwicha Yai Yhukon Yindee Yod Yongchaiyudh Yongchaiyuth Yubamrung }
19
- end
20
+ Names = %w{ Alak Ananda Annan Anuia Anuman Anurak Badinton Baharn Bahn Bapit Baroma Bhakdi Bhumipol Boon-Mee Boon-Nam Burimas Burut Cha Chai Chairat Chaiyanuchit Chaiyo Chakri Chalerm Chalermchai Changsai Chanthara Chao-Khun-Sa Chao-Tak Charoen Charoensom Charong Chatchalerm Chatchom Chatri Chaturon Chavalit Chesda Chomanan Chompoo Chongrak Choochai Choonhavan Choonhavon Chuachai Chuanchen Chuia Chula Chulalongkorn Chulamai Churai Chuthamani Daeng Darin Deng Dhipyamongkol Disnadda Ditaka Dithakar Dok Duchanee Emjaroen Erawan Fah Fufanwonich Gee Hainad Hanuman Intradit Ittiporn Jaidee Jao Jarunsuk Jatukamramthep Jayavarman Kamnan Kanda Karmatha Kasem Kasemchai Kasemsan Keetau Khakanang Khun Kiet Kit Kitti Kittibun Kittichai Kittichat Kittikchorn Kob Komalat Kongsampong Korn Kovit Kraisee Kraisingha Krarayoon Kriengsak Kris Krita Krom-Luang Kukrit Kusa Kwanchai Kwanjai Lamom Lamon Lap Leekpai Leekpie Lek Loesan Luk Maha Mahidol Malian Manitho Mee Mengrai Metananda Mok Mokkhavesa Mongkut Monyakul Muoi Nadee Nai-Thim Nak Nang-Klao Narai Naresuan Naris Narisa Net Ngam Nikom Nikon Nintau Niran Nit Noi Nongchai Noppadon Norachai Nuananong Nui Nung Nuta-Laya Obb Othong Pairat Paitoon Pakhdi Palat Panyarachun Paramendr Parnchand Pattama Pet Petchara Petchra Phaibun Phara Phinihan Phraisong Phrom-Borirak Phya Pichai Pichit Pira Pra Prachuab Pramoj Prasong Pravat Praves Praya Pricha Prisna Proi Pu Rachotai Rak Ramkamhaeng Rangsan Ratanankorn Ratsami Sajja Sanouk Santichai Sanun Sap Sarawong Sarit Sataheep Satrud Sawat Seni Si Siam Sinn Sombat Somchai Somdet-Ong-Yai Somdetch Sompron Son Songgram Soo Sook Sophuk Sri Srimuang Su Suda Sudarak Suk Sulak Sum Sumatra Sunan Sundaravej Suntarankul Sunti Sup Suphatra Suphayok Supoj Supp Supsampantuwongse Suriwongse Suriyawong Sutep Tai Tak-Sin Tam Tau Tep Tham-Boon Thammaraja Thanarat Thanit Thawanya Thawi Thongkon Thurdchai Ti Tiloka Ting Tinsulaananda Tinsulanonda Ton Tong Totsakan Toy Ubol Udom Unakan Vajiralongkorn Vajiravudh Vessandan Vidura Wasi Wattana Wiset Witsanunat Wongsa Xuwicha Yai Yhukon Yindee Yod Yongchaiyudh Yongchaiyuth Yubamrung }
20
21
  end
21
22
  end
22
- end
23
+ end
@@ -1,22 +1,23 @@
1
1
  # encoding: UTF-8
2
2
 
3
+ require_relative "../name.rb"
4
+ require_relative "../ext/Array.rb"
5
+
3
6
  module RandomPerson
4
7
  module Names
5
8
 
6
9
  class WelshFemaleFirst < Name
7
10
 
8
11
  def initialize
9
- @formats = {
10
- :single => ->(n) { n.rand },
11
- }
12
-
12
+ @names = Names
13
+ @formats = [
14
+ ->(n) { n.rand },
15
+ ]
13
16
  @formats_ratiod = [ (0..99) ]
14
- setupnames
17
+ super
15
18
  end
16
19
 
17
- def setupnames
18
- @names = %w{ Aberfa Abertha Adain Adara Addfwyn Addiena Adyna Aelwyd Aeron Amser Angharad Anna Annwyl Argel Arglwyddes Argoel Argraff Arial Ariana Arianell Ariene Aranrhod Arianrhod Arianwen Arlais Armes Arthes Arwydd Asgre Auron Avenable Banon Berth Berthog Bethan Blanchfleur Blodeuwedd Blodwen Braith Brandgaine Branwen Bregus Briallen Brisen Bronwen Buddug Brynn Cadwyn Caethes Cafell Canaid Cari Caron Carys Cate Cath Catrin Ceri Ceridwen Cerwen Cigfa Clarisant Cordelia Corsen Cragen Creiddylad Creirwy Cymreiges Daron Dee Del Dera Derwen Deryn Deverell Dicra Dierdre Difyr Dilys Don Druantia Drysi Dwyn Dylis Ebrill Efa Eheubryd Eira Eirianwen Eiriol Elaine Elen Eleri Ellylw Eluned Eneuawy Enfys Enid Enrhydreg Epona Erdudvyl Eres Essyllt Eurneid Eurolwyn Eyslk Ffanci Ffion Fflur Ffraid Gaenor Ganieda Garan Genevieve Gladys Glenna Glenys Glynis Goewin Goleuddydd Gorawen Guinevere Gwaeddan Gwanwyn Gwawr Gwen Gwenda Gwendolyn Gwener Gweneth Gwenhwyfar Gwenledyr Gwenith Gwenllian Gwenn Gwenno Gwerfyl Gwladys Gwyneira Gwyneth Hafgan Hafren Heledd Hellawes Heulwen Heulyn Hywela Idelle Igerna Iola Isolde Jenifer Kelemon Kigva Lilybet Linette Llinos Llio Lowri Lysanor Mab Mabli Mair Maledisant Mali Marged Meghan Melangell Meleri Meredith Meriel Modlen Modron Mon Morfudd Morgan Morgana Morgause Morvudd Morwen Myfanwy Nerys Nesta Neued Nia Nimue Nona Olwen Owena Penarddun Petra Ragnell Rathtyen Rhan Rhawn Rhedyn Rhiamon Rhian Rhiannon Rhianwen Rhonda Rhonwen Rhosyn Rowena Saeth Saffir Sarff Seren Sian Sioned Siwan Taffy Talaith Talar Tanwen Tarian Tarran Tegan Tegau Tegeirian Tegwen Teleri Telyn Terrwyn Toreth Torlan Torri Trevina Tristan Una Vala Vanora Vivian Wenda Winnifred Wynne Ysbail Yseult }
19
- end
20
+ Names = %w{ Aberfa Abertha Adain Adara Addfwyn Addiena Adyna Aelwyd Aeron Amser Angharad Anna Annwyl Argel Arglwyddes Argoel Argraff Arial Ariana Arianell Ariene Aranrhod Arianrhod Arianwen Arlais Armes Arthes Arwydd Asgre Auron Avenable Banon Berth Berthog Bethan Blanchfleur Blodeuwedd Blodwen Braith Brandgaine Branwen Bregus Briallen Brisen Bronwen Buddug Brynn Cadwyn Caethes Cafell Canaid Cari Caron Carys Cate Cath Catrin Ceri Ceridwen Cerwen Cigfa Clarisant Cordelia Corsen Cragen Creiddylad Creirwy Cymreiges Daron Dee Del Dera Derwen Deryn Deverell Dicra Dierdre Difyr Dilys Don Druantia Drysi Dwyn Dylis Ebrill Efa Eheubryd Eira Eirianwen Eiriol Elaine Elen Eleri Ellylw Eluned Eneuawy Enfys Enid Enrhydreg Epona Erdudvyl Eres Essyllt Eurneid Eurolwyn Eyslk Ffanci Ffion Fflur Ffraid Gaenor Ganieda Garan Genevieve Gladys Glenna Glenys Glynis Goewin Goleuddydd Gorawen Guinevere Gwaeddan Gwanwyn Gwawr Gwen Gwenda Gwendolyn Gwener Gweneth Gwenhwyfar Gwenledyr Gwenith Gwenllian Gwenn Gwenno Gwerfyl Gwladys Gwyneira Gwyneth Hafgan Hafren Heledd Hellawes Heulwen Heulyn Hywela Idelle Igerna Iola Isolde Jenifer Kelemon Kigva Lilybet Linette Llinos Llio Lowri Lysanor Mab Mabli Mair Maledisant Mali Marged Meghan Melangell Meleri Meredith Meriel Modlen Modron Mon Morfudd Morgan Morgana Morgause Morvudd Morwen Myfanwy Nerys Nesta Neued Nia Nimue Nona Olwen Owena Penarddun Petra Ragnell Rathtyen Rhan Rhawn Rhedyn Rhiamon Rhian Rhiannon Rhianwen Rhonda Rhonwen Rhosyn Rowena Saeth Saffir Sarff Seren Sian Sioned Siwan Taffy Talaith Talar Tanwen Tarian Tarran Tegan Tegau Tegeirian Tegwen Teleri Telyn Terrwyn Toreth Torlan Torri Trevina Tristan Una Vala Vanora Vivian Wenda Winnifred Wynne Ysbail Yseult }
20
21
  end
21
22
  end
22
23
  end
@@ -1,23 +1,24 @@
1
1
  # encoding: UTF-8
2
2
 
3
+ require_relative "../name.rb"
4
+ require_relative "../ext/Array.rb"
5
+
3
6
  module RandomPerson
4
7
  module Names
5
8
 
6
9
  class WelshLast < Name
7
10
 
8
11
  def initialize
9
- @formats = {
10
- :single => ->(n) { n.rand },
11
- :double_barrelled_hyphenated => ->(n) { n.rand + '-' + n.rand },
12
- }
13
-
14
- @formats_ratiod = [ (0..99) ]
15
- setupnames
12
+ @names = Names
13
+ @formats = [
14
+ ->(n) { n.rand },
15
+ ->(n) { n.rand + ' ' + n.rand },
16
+ ]
17
+ @formats_ratiod = [ 0..98, 99..99 ]
18
+ super
16
19
  end
17
20
 
18
- def setupnames
19
- @names = %w{ Ace Adams Adda Ajax Alban Allen Andrew Anthony Anwyl Arthur Ashton Astley Augustus Austin Awbrey Bach Bamford Barry Baskerville Bateman Baugh Bebb Bedward Beedle Belth Benbow Bengough Benjamin Bennett Bevan Beynon Bidder Blackwell Blayney Bonner Bonsall Boulter Bound Bowdler Bowen Bown Brace Breese Brigstocke Brooks Brown Bufton Bulkeley Button Bythell Caddock Cadogan Cadwalader Cantington Canton Cardiff Cardigan Carew Charles Christmas Clayton Clement Clocker Clougher Cole Connah Conway Coslett Craddock Crowther Crunn Cunnick Daniel David Dawkins Deere Devonald Dodd Edmunds Edwards Elias Ellis Emanuel Ephraim Esau Evans Eynon Faithfull Felix Fenna Folland Foulkes Francis Gabriel Gadarn Games Geonor George Gethin Gibbs Gittins Goodwin Gough Gravenor Griffiths Gronow Gunter Guy Gwalchmai Gwilt Gynne Gwyther Haines Hall Hamer Harries Harry Hatfield Hathaway Havard Heilyn Herbert Hier Hooson Hopkins Hoskin Howard Howe Howells Hughes Hullin Humphreys Husband Hussey Issac Ithell Jacob James Jarman Jasper Jeffreys Jehu Jervis Job John Jones Joseph Kendrick Kinsey Kneath Knethell Kyffin Landeg Laugharne Lewis Leyshon Llewelyn Lloyd Llywarch Lodwick Lougher Lucas Lumley Mabe Maddocks Mason Matthews Maybery Mendus Meredith Meyler Meyrick Michael Miles Mills Morgan Morris Mortimer Mostyn Nanney Narberth Nash Nevett Newell Nicholas Nock Nuttall Oliver Owen Parker Parry Pask Paskin Peate Peregrine Perkins Peters Phillips Picton Pierce Powell Price Pritchard Probert Probyn Profit Prosser Prothero Pugh Rees Reynolds Rhydderch Richards Roberts Roch Roderick Rogers Rowlands Salmon Salusbury Sambrook Samuel Savage Sayce Sheen Sheldon Smith Smout Stephens Stradling Swancott Tannatt Taylor Teague Tew Thomas Tibbot Timothy Treharne Trevor Trewent Trow Tucker Tudor Turner Vaughan Voyle Walbeoff Walters Warlow Warren Watkins Watts Weal Weaver Whittal Wigley Wild Wilding Williams Wogan Woosencraft Woosnam Worthing Wynne Yorath Young Yong Yonge Yongue }
20
- end
21
+ Names = %w{ Ace Adams Adda Ajax Alban Allen Andrew Anthony Anwyl Arthur Ashton Astley Augustus Austin Awbrey Bach Bamford Barry Baskerville Bateman Baugh Bebb Bedward Beedle Belth Benbow Bengough Benjamin Bennett Bevan Beynon Bidder Blackwell Blayney Bonner Bonsall Boulter Bound Bowdler Bowen Bown Brace Breese Brigstocke Brooks Brown Bufton Bulkeley Button Bythell Caddock Cadogan Cadwalader Cantington Canton Cardiff Cardigan Carew Charles Christmas Clayton Clement Clocker Clougher Cole Connah Conway Coslett Craddock Crowther Crunn Cunnick Daniel David Dawkins Deere Devonald Dodd Edmunds Edwards Elias Ellis Emanuel Ephraim Esau Evans Eynon Faithfull Felix Fenna Folland Foulkes Francis Gabriel Gadarn Games Geonor George Gethin Gibbs Gittins Goodwin Gough Gravenor Griffiths Gronow Gunter Guy Gwalchmai Gwilt Gynne Gwyther Haines Hall Hamer Harries Harry Hatfield Hathaway Havard Heilyn Herbert Hier Hooson Hopkins Hoskin Howard Howe Howells Hughes Hullin Humphreys Husband Hussey Issac Ithell Jacob James Jarman Jasper Jeffreys Jehu Jervis Job John Jones Joseph Kendrick Kinsey Kneath Knethell Kyffin Landeg Laugharne Lewis Leyshon Llewelyn Lloyd Llywarch Lodwick Lougher Lucas Lumley Mabe Maddocks Mason Matthews Maybery Mendus Meredith Meyler Meyrick Michael Miles Mills Morgan Morris Mortimer Mostyn Nanney Narberth Nash Nevett Newell Nicholas Nock Nuttall Oliver Owen Parker Parry Pask Paskin Peate Peregrine Perkins Peters Phillips Picton Pierce Powell Price Pritchard Probert Probyn Profit Prosser Prothero Pugh Rees Reynolds Rhydderch Richards Roberts Roch Roderick Rogers Rowlands Salmon Salusbury Sambrook Samuel Savage Sayce Sheen Sheldon Smith Smout Stephens Stradling Swancott Tannatt Taylor Teague Tew Thomas Tibbot Timothy Treharne Trevor Trewent Trow Tucker Tudor Turner Upjohn Vaughan Voyle Walbeoff Walters Warlow Warren Watkins Watts Weal Weaver Whittal Wigley Wild Wilding Williams Wogan Woosencraft Woosnam Worthing Wynne Yorath Young Yong Yonge Yongue }
21
22
  end
22
23
  end
23
24
  end
@@ -1,22 +1,23 @@
1
1
  # encoding: UTF-8
2
2
 
3
+ require_relative "../name.rb"
4
+ require_relative "../ext/Array.rb"
5
+
3
6
  module RandomPerson
4
7
  module Names
5
8
 
6
9
  class WelshMaleFirst < Name
7
10
 
8
11
  def initialize
9
- @formats = {
10
- :single => ->(n) { n.rand },
11
- }
12
-
12
+ @names = Names
13
+ @formats = [
14
+ ->(n) { n.rand },
15
+ ]
13
16
  @formats_ratiod = [ (0..99) ]
14
- setupnames
17
+ super
15
18
  end
16
19
 
17
- def setupnames
18
- @names = %w{ Aberthol Accalon Adda Addolgar Adwr Aedd Aeddan Aglovale Alawn Albanwr Aled Alwyn Amaethon Amerawdwr Amhar Amlawdd Amren Amynedd Andras Andreas Aneirin Anfri Angawdd Angor Anir Anwar Anwas Anwell Anwir Anynnawg Anyon Ap Arawn Ardwyad Arglwydd Arian Arianwyn Arthur Arvel Avagdu Avaon Awstin Baddon Barri Barris Baudwin Beda Bedwyr Bedyw Beli Bellieus Benedigeidfram Bercelak Berth Berwyn Beven Blair Blaise Blathaon Bleddyn Bledri Bleidd Bleiddian Bogart Bors Bowen Brac Brad Bradwen Bradwr Braen Bran Brastias Brathach Brian Brice Broderick Bryn Brys Bwlch Cadarn Caddoc Cadell Cadellin Cadeyrn Cadfael Cadfan Cadman Cadoc Cadwaladr Cadwallen Cadwgawn Cadwr Cadyryeith Caer Caerwyn Cai Cain Cairn Calcas Calder Caledvwich Cant Caradawg Caradoc Carey Carnedyr Cas Casnar Casswallawn Caw Cedric Ceithin Celyn Cerdic Ceri Cerwyn Cian Clud Clust Clyde Cnychwr Coed Colgrevance Collen Colwyn Conwy Corryn Cradelmass Crist Cubert Culhwch Culvanawd Custenhin Cymry Cynan Cynbal Cystennin Dafydd Dagonet Dalldav Daned Davis Deiniol Deverell Dewey Digon Dillan Dillus Dilwyn Dinadan Dirmyg Drem Dremidydd Drew Druce Drudwas Drwst Drych Drystan Duach Dylan Dyvynarth Dyvyr Dywel Earwine Ector Edern Edmyg Ehangwen Eiddoel Eiddyl Eiladar Einion Eiryn Eivyonydd Elis Elphin Emhyr Emlyn Emrys Ennissyen Eoin Erbin Ergyryad Ermid Eryi Eudav Eurosswydd Eus Evan Evnissyen Evrawg Evrei Fercos Fflam Fflergant Fflewdwr Ffodor Ffowc Ffransis Fychan Fyrsil Galahad Galehodin Gamon Gandwy Garanhon Gareth Garnock Garselid Garwyli Garym Gavin Gawain Geraint Gerallt Gerwin Gethin Gilbert Gildas Gilvaethwy Gleis Glendower Glew Glewlwyd Glinyeu Glyn Glythvyr Gobrwy Gofannon Gogyvwlch Goreu Gorlois Gormant Goronwy Gorsedd Govan Govannon Govynyon Gowerr Gowther Granwen Greid Greidyawl Griffin Griffith Griflet Gromer Gronw Gruddyeu Gruffen Guinglain Gusg Gwalchmei Gwalhaved Gwallawg Gwallter Gwarthegydd Gwawl Gwern Gwevyl Gwilym Gwion Gwitart Gwrddywall Gwres Gwyddawg Gwyddno Gwydion Gwydre Gwyglet Gwyn Gwyneira Gwynn Gwyr Gwythyr Hafgan Heddwyn Hefaidd Heilyn Hen Hen Hen Heulfryn Heulyn Howell Huw Hydd Hywel Iago Iau Iddawg Idris Iestyn Ieuan Ifor Inek Iolo Iona Iowerth Irvin Ithel Iustig Jestin Jones Kai Kane Keith Kelli Kelyn Kenn Kent Kenyon Kevyn Kian Kilydd Kim Kynan Kyndrwyn Kynedyr Kynlas Kynon Kynwal Kynwyl Lancelot Lavaine Leodegrance Lionel Llacheu Llara Lleu Llevelys Lloyd Lludd Llwch Llwybyr Llwyd Llwydeu Llwyr Llyn Llyr Llywelyn Lot Lovel Lug Mabon Mabsant Macsen Madawg Maddock Maddox Madoc Mael Maelgwn Maelogan Maelwys Mallolwch Malvern Manawydan March Marrock Math Mawrth Maxen Medyr Meical Melkin Menw Mercher Meredith Merlin Meurig Mil Modred Moesen Mordwywr Morgan Morgannwg Morthwyl Morvran Mostyn Myrddin Naw Neb Nentres Nerth Nerthach Neued Newlin Nissyen Nodens Nynnyaw Odgar Ofydd Ol Olwydd Oswallt Owein Padrig Parry Pasgen Pawl Pedr Peissawg Pelles Pellinore Pellyn Pembroke Penn Pennar Penvro Perceval Peredur Powell Price Pryderi Prydwen Prys Puw Pwyll Pyrs Reese Ren Renfrew Rhain Rheged Rhett Rhionganedd Rhisiart Rhobert Rhodri Rhun Rhuvawn Rhyawdd Rhychdir Rhyd Rhydderch Rhys Robat Romney Sayer Seith Sel Selwyn Selyf Selyv Seren Siam Siarl Siawn Siencyn Sinnoch Sion Sior Steffan Sugyn Sulien Sulyen Syvwlch Tad Taffy Taliesin Tarrant Tegid Tegvan Teilo Teithi Teregud Teryrnon Timotheus Tomos Tor Trahern Trefor Tremayne Trent Trevelyan Tringad Tristan Tristram Tudur Twm Twrgadarn Tywysog Uchdryd Urien Vaddon Vaughn Wadu Waljan Weyland Wmffre Wren Wynn Yale Yestin Ysberin Ysgawyn Yspadaden Pencawr }
19
- end
20
+ Names = %w{ Aberthol Accalon Adda Addolgar Adwr Aedd Aeddan Aglovale Alawn Albanwr Aled Alwyn Amaethon Amerawdwr Amhar Amlawdd Amren Amynedd Andras Andreas Aneirin Anfri Angawdd Angor Anir Anwar Anwas Anwell Anwir Anynnawg Anyon Ap Arawn Ardwyad Arglwydd Arian Arianwyn Arthur Arvel Avagdu Avaon Awstin Baddon Barri Barris Baudwin Beda Bedwyr Bedyw Beli Bellieus Benedigeidfram Bercelak Berth Berwyn Beven Blair Blaise Blathaon Bleddyn Bledri Bleidd Bleiddian Bogart Bors Bowen Brac Brad Bradwen Bradwr Braen Bran Brastias Brathach Brian Brice Broderick Bryn Brys Bwlch Cadarn Caddoc Cadell Cadellin Cadeyrn Cadfael Cadfan Cadman Cadoc Cadwaladr Cadwallen Cadwgawn Cadwr Cadyryeith Caer Caerwyn Cai Cain Cairn Calcas Calder Caledvwich Cant Caradawg Caradoc Carey Carnedyr Cas Casnar Casswallawn Caw Cedric Ceithin Celyn Cerdic Ceri Cerwyn Cian Clud Clust Clyde Cnychwr Coed Colgrevance Collen Colwyn Conwy Corryn Cradelmass Crist Cubert Culhwch Culvanawd Custenhin Cymry Cynan Cynbal Cystennin Dafydd Dagonet Dalldav Daned Davis Deiniol Deverell Dewey Digon Dillan Dillus Dilwyn Dinadan Dirmyg Drem Dremidydd Drew Druce Drudwas Drwst Drych Drystan Duach Dylan Dyvynarth Dyvyr Dywel Earwine Ector Edern Edmyg Ehangwen Eiddoel Eiddyl Eiladar Einion Eiryn Eivyonydd Elis Elphin Emhyr Emlyn Emrys Ennissyen Eoin Erbin Ergyryad Ermid Eryi Eudav Eurosswydd Eus Evan Evnissyen Evrawg Evrei Fercos Fflam Fflergant Fflewdwr Ffodor Ffowc Ffransis Fychan Fyrsil Galahad Galehodin Gamon Gandwy Garanhon Gareth Garnock Garselid Garwyli Garym Gavin Gawain Geraint Gerallt Gerwin Gethin Gilbert Gildas Gilvaethwy Gleis Glendower Glew Glewlwyd Glinyeu Glyn Glythvyr Gobrwy Gofannon Gogyvwlch Goreu Gorlois Gormant Goronwy Gorsedd Govan Govannon Govynyon Gowerr Gowther Granwen Greid Greidyawl Griffin Griffith Griflet Gromer Gronw Gruddyeu Gruffen Guinglain Gusg Gwalchmei Gwalhaved Gwallawg Gwallter Gwarthegydd Gwawl Gwern Gwevyl Gwilym Gwion Gwitart Gwrddywall Gwres Gwyddawg Gwyddno Gwydion Gwydre Gwyglet Gwyn Gwyneira Gwynn Gwyr Gwythyr Hafgan Heddwyn Hefaidd Heilyn Hen Hen Hen Heulfryn Heulyn Howell Huw Hydd Hywel Iago Iau Iddawg Idris Iestyn Ieuan Ifor Inek Iolo Iona Iowerth Irvin Ithel Iustig Jestin Jones Kai Kane Keith Kelli Kelyn Kenn Kent Kenyon Kevyn Kian Kilydd Kim Kynan Kyndrwyn Kynedyr Kynlas Kynon Kynwal Kynwyl Lancelot Lavaine Leodegrance Lionel Llacheu Llara Lleu Llevelys Lloyd Lludd Llwch Llwybyr Llwyd Llwydeu Llwyr Llyn Llyr Llywelyn Lot Lovel Lug Mabon Mabsant Macsen Madawg Maddock Maddox Madoc Mael Maelgwn Maelogan Maelwys Mallolwch Malvern Manawydan March Marrock Math Mawrth Maxen Medyr Meical Melkin Menw Mercher Meredith Merlin Meurig Mil Modred Moesen Mordwywr Morgan Morgannwg Morthwyl Morvran Mostyn Myrddin Naw Neb Nentres Nerth Nerthach Neued Newlin Nissyen Nodens Nynnyaw Odgar Ofydd Ol Olwydd Oswallt Owein Padrig Parry Pasgen Pawl Pedr Peissawg Pelles Pellinore Pellyn Pembroke Penn Pennar Penvro Perceval Peredur Powell Price Pryderi Prydwen Prys Puw Pwyll Pyrs Reese Ren Renfrew Rhain Rheged Rhett Rhionganedd Rhisiart Rhobert Rhodri Rhun Rhuvawn Rhyawdd Rhychdir Rhyd Rhydderch Rhys Robat Romney Sayer Seith Sel Selwyn Selyf Selyv Seren Siam Siarl Siawn Siencyn Sinnoch Sion Sior Steffan Sugyn Sulien Sulyen Syvwlch Tad Taffy Taliesin Tarrant Tegid Tegvan Teilo Teithi Teregud Teryrnon Timotheus Tomos Tor Trahern Trefor Tremayne Trent Trevelyan Tringad Tristan Tristram Tudur Twm Twrgadarn Tywysog Uchdryd Urien Vaddon Vaughn Wadu Waljan Weyland Wmffre Wren Wynn Yale Yestin Ysberin Ysgawyn Yspadaden Pencawr }
20
21
  end
21
22
  end
22
23
  end
@@ -1,29 +1,23 @@
1
1
  # encoding: UTF-8
2
2
 
3
+ require_relative "../name.rb"
4
+ require_relative "../ext/Array.rb"
5
+
3
6
  module RandomPerson
4
7
  module Names
5
8
 
6
9
  class WelshPrefix < Name
7
10
 
11
+ Names = %w(Mr Dr Mrs Ms Miss)
12
+
8
13
  def initialize
9
-
14
+ @names = Names
10
15
  @formats_ratiod = [ 0..47, 48..49, 50..70, 71..87, 88..99]
11
-
12
- @names = %w(Mr Dr Mrs Ms Miss)
16
+ @possibles = Hash[ @formats_ratiod.zip @names ]
17
+ @on_execute = for_prefixes( 'Miss', 'Mr' )
18
+ super
13
19
  end
14
20
 
15
- def execute( person )
16
-
17
- if person.age < 17
18
- return @names[4] if person.gender == 'f'
19
- return @names[0]
20
- end
21
-
22
- r = rand(100) #0..99
23
-
24
- i = @formats_ratiod.index_in_range( r )
25
- return @names[i]
26
- end
27
21
  end
28
22
  end
29
- end
23
+ end
@@ -0,0 +1,53 @@
1
+ # encoding: UTF-8
2
+
3
+ # uses the @on_execute block of the including class
4
+ module Outputter
5
+ module ClassMethods
6
+
7
+ end # ClassMethods
8
+
9
+ module InstanceMethods
10
+ def on_execute( &block )
11
+ @on_execute = block
12
+ end
13
+
14
+ def execute( person=nil )
15
+ @on_execute.call( person )
16
+ end
17
+
18
+ private
19
+
20
+ #TODO rename this as other classes are using it too
21
+ def for_prefixes( for_females, for_males, male_upper_bound=50, child_age_upper_bound=16, female_lower_bound=50)
22
+
23
+ ->(person){
24
+ name = if person.age <= child_age_upper_bound
25
+ person.gender == 'f' ? for_females : for_males
26
+ else
27
+ r = rand( male_upper_bound )
28
+ r += female_lower_bound if person.gender == "f"
29
+ @possibles.each_pair{|k,v| break v if k === r }
30
+ end # if
31
+
32
+ name
33
+ }
34
+ end # prefixes
35
+
36
+ def for_standard
37
+ ->(person=nil){
38
+ f = if @formats.length > 1
39
+ r = rand(@formats_ratiod.last.end + 1)
40
+ @possibles.each_pair{|k,v| break v if k === r }
41
+ else
42
+ @possibles.first.last #throw away the key name
43
+ end
44
+ f.( @names )
45
+ }
46
+ end
47
+ end
48
+
49
+ def self.included(receiver)
50
+ receiver.extend ClassMethods
51
+ receiver.send :include, InstanceMethods
52
+ end
53
+ end
@@ -0,0 +1,75 @@
1
+ # encoding: UTF-8
2
+
3
+ require_relative "./Loader.rb"
4
+
5
+ module RandomPerson
6
+
7
+ class Demographic
8
+ include Loader
9
+
10
+ require 'set'
11
+
12
+ # the name of this demographic
13
+ attr_accessor :name
14
+
15
+ attr_accessor :malefirst, :femalefirst, :last, :gender_ratio, :age_lower, :age_upper, :prefix, :suffix #,:age_ratio
16
+
17
+ def self.available_classes
18
+ @available_classes ||= Set.new
19
+ end
20
+
21
+
22
+ # Initialize the class with the parameters for the population you want.
23
+ # @example
24
+ # demographic = RandomPerson::Demographic.new( {gender_ratio: [3,5] , age_lower:16, age_upper:35 } )
25
+ def initialize( name=nil, opts={} )
26
+ if name.kind_of? Hash
27
+ opts = name
28
+ name = nil
29
+ end
30
+ @name = name
31
+ @gender_ratio = opts[:gender_ratio] || [1,1] #default
32
+ @age_lower = opts[:age_lower] || 0
33
+ @age_upper = opts[:age_upper] || 115
34
+
35
+
36
+ Demographic.available_classes.merge Demographic.load_names
37
+ end
38
+
39
+
40
+
41
+ # tribe, gender, position
42
+ def method_missing( name, *args )
43
+ return super( name, *args ) unless name.to_s =~ /^add/
44
+ words = name.to_s.split( "_" )
45
+ 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] }
49
+ #get just the positives
50
+ words.reject! {|w| w =~ /^not/ }
51
+
52
+ #check the beginning of each word has an uc letter
53
+ words.select! {|w| w =~ /^\p{Upper}/ }
54
+
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(:&)
59
+
60
+ yesses = yesses - nots unless nots.nil? #remove nots from wanteds
61
+
62
+ Demographic.prefix_em(
63
+ yesses.map do |(file_name)|
64
+ Demographic.requiring( file_name )
65
+ end ).each do |klass|
66
+ addklass klass
67
+ end
68
+
69
+ self # just because
70
+ end
71
+
72
+
73
+ end
74
+
75
+ end
@@ -1,14 +1,18 @@
1
+ # encoding: UTF-8
2
+
1
3
  class Array
2
4
 
5
+ # This will iterate over an array of ranges, and if the given n is in the range it will return the index for that range.
3
6
  def index_in_range( n )
4
7
  self.each_with_index do |x, i|
5
8
  return i if x === n
6
9
  end
7
10
  return nil
8
11
  end
9
-
12
+
13
+ # This will randomly select one of the values from the array
10
14
  def rand
11
15
  self[Kernel.rand(length)]
12
16
  end
13
17
 
14
- end
18
+ end