ffaker 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (320) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +34 -0
  3. data/README.md +4 -0
  4. data/REFERENCE.md +1153 -800
  5. data/Rakefile +23 -24
  6. data/ffaker.gemspec +12 -420
  7. data/lib/ffaker.rb +47 -7
  8. data/lib/ffaker/address.rb +11 -11
  9. data/lib/ffaker/address_au.rb +60 -60
  10. data/lib/ffaker/address_br.rb +5 -5
  11. data/lib/ffaker/address_ca.rb +7 -7
  12. data/lib/ffaker/address_ch.rb +1 -2
  13. data/lib/ffaker/address_ch_de.rb +1 -1
  14. data/lib/ffaker/address_ch_fr.rb +1 -1
  15. data/lib/ffaker/address_ch_it.rb +1 -1
  16. data/lib/ffaker/address_da.rb +5 -5
  17. data/lib/ffaker/address_de.rb +16 -12
  18. data/lib/ffaker/address_fi.rb +7 -8
  19. data/lib/ffaker/address_fr.rb +13 -13
  20. data/lib/ffaker/address_gr.rb +40 -0
  21. data/lib/ffaker/address_in.rb +12 -12
  22. data/lib/ffaker/address_kr.rb +87 -0
  23. data/lib/ffaker/address_mx.rb +409 -409
  24. data/lib/ffaker/address_nl.rb +17 -13
  25. data/lib/ffaker/address_ru.rb +6 -6
  26. data/lib/ffaker/address_se.rb +7 -8
  27. data/lib/ffaker/address_sn.rb +3 -3
  28. data/lib/ffaker/address_ua.rb +8 -8
  29. data/lib/ffaker/address_uk.rb +5 -5
  30. data/lib/ffaker/address_us.rb +9 -9
  31. data/lib/ffaker/airline.rb +16 -0
  32. data/lib/ffaker/avatar.rb +3 -3
  33. data/lib/ffaker/aws.rb +24 -0
  34. data/lib/ffaker/bacon_ipsum.rb +2 -2
  35. data/lib/ffaker/book.rb +45 -0
  36. data/lib/ffaker/boolean.rb +2 -2
  37. data/lib/ffaker/cheesy_lingo.rb +15 -12
  38. data/lib/ffaker/color.rb +54 -1
  39. data/lib/ffaker/color_ua.rb +1 -1
  40. data/lib/ffaker/company.rb +13 -11
  41. data/lib/ffaker/company_cn.rb +23 -0
  42. data/lib/ffaker/company_it.rb +4 -4
  43. data/lib/ffaker/company_se.rb +2 -2
  44. data/lib/ffaker/conference.rb +1 -1
  45. data/lib/ffaker/courses.rb +2 -3
  46. data/lib/ffaker/currency.rb +2 -2
  47. data/lib/ffaker/data/address_gr/city +79 -0
  48. data/lib/ffaker/data/address_gr/region +13 -0
  49. data/lib/ffaker/data/address_gr/street +100 -0
  50. data/lib/ffaker/data/address_kr/boroughs +29 -0
  51. data/lib/ffaker/data/address_kr/cities +51 -0
  52. data/lib/ffaker/data/airline/codes_list +209 -0
  53. data/lib/ffaker/data/airline/names_list +206 -0
  54. data/lib/ffaker/data/aws/ec2_instance_type +59 -0
  55. data/lib/ffaker/data/aws/ec2_reserved_instance_tenancy +3 -0
  56. data/lib/ffaker/data/aws/ec2_reserved_offering_type +6 -0
  57. data/lib/ffaker/data/aws/ec2_reserved_product_description +14 -0
  58. data/lib/ffaker/data/book/adj_and_adv +20 -0
  59. data/lib/ffaker/data/book/genres +369 -0
  60. data/lib/ffaker/data/book/nouns +36 -0
  61. data/lib/ffaker/data/book/prefixes +17 -0
  62. data/lib/ffaker/data/color/names_list +128 -0
  63. data/lib/ffaker/data/education/degree_prefix +274 -0
  64. data/lib/ffaker/data/education/degree_short_prefix +19 -0
  65. data/lib/ffaker/data/job_br/job_nouns +52 -0
  66. data/lib/ffaker/data/job_vn/job_nouns +191 -0
  67. data/lib/ffaker/data/lorem_ja/characters +101 -0
  68. data/lib/ffaker/data/lorem_ja/sentences +30 -0
  69. data/lib/ffaker/data/lorem_ja/sentences_end +21 -0
  70. data/lib/ffaker/data/lorem_ja/words +81 -0
  71. data/lib/ffaker/data/name/first_names_female +4275 -0
  72. data/lib/ffaker/data/name/first_names_male +1219 -0
  73. data/lib/ffaker/data/name_br/first_names_female +1068 -0
  74. data/lib/ffaker/data/name_br/first_names_male +607 -0
  75. data/lib/ffaker/data/name_br/last_names +52 -0
  76. data/lib/ffaker/data/name_gr/female_first_names +80 -0
  77. data/lib/ffaker/data/name_gr/female_last_names +45 -0
  78. data/lib/ffaker/data/name_gr/male_first_names +90 -0
  79. data/lib/ffaker/data/name_gr/male_last_names +57 -0
  80. data/lib/ffaker/data/name_kh/first_names +64 -0
  81. data/lib/ffaker/data/name_kh/last_names +71 -0
  82. data/lib/ffaker/data/name_kh/nick_names +30 -0
  83. data/lib/ffaker/data/name_then/first_names +292 -0
  84. data/lib/ffaker/data/name_then/last_names +63 -0
  85. data/lib/ffaker/data/name_then/nick_names +30 -0
  86. data/lib/ffaker/data/phone_number/phone_calling_code +205 -0
  87. data/lib/ffaker/data/sport/names +57 -24
  88. data/lib/ffaker/data/tweet/hashtag +58 -0
  89. data/lib/ffaker/data/youtube/video_ids +50 -0
  90. data/lib/ffaker/dizzle_ipsum.rb +2 -2
  91. data/lib/ffaker/education.rb +17 -16
  92. data/lib/ffaker/food.rb +5 -6
  93. data/lib/ffaker/gender.rb +4 -4
  94. data/lib/ffaker/gender_br.rb +17 -0
  95. data/lib/ffaker/gender_cn.rb +4 -4
  96. data/lib/ffaker/gender_kr.rb +4 -4
  97. data/lib/ffaker/geolocation.rb +26 -26
  98. data/lib/ffaker/healthcare_ipsum.rb +2 -2
  99. data/lib/ffaker/hipster_ipsum.rb +2 -2
  100. data/lib/ffaker/html_ipsum.rb +101 -81
  101. data/lib/ffaker/identification.rb +4 -4
  102. data/lib/ffaker/identification_br.rb +84 -0
  103. data/lib/ffaker/identification_es.rb +2 -2
  104. data/lib/ffaker/identification_es_cl.rb +7 -5
  105. data/lib/ffaker/identification_es_co.rb +9 -10
  106. data/lib/ffaker/identification_kr.rb +3 -4
  107. data/lib/ffaker/identification_mx.rb +27 -11
  108. data/lib/ffaker/internet.rb +26 -23
  109. data/lib/ffaker/internet_se.rb +21 -21
  110. data/lib/ffaker/job.rb +1 -1
  111. data/lib/ffaker/job_br.rb +12 -0
  112. data/lib/ffaker/job_cn.rb +1 -1
  113. data/lib/ffaker/job_fr.rb +3 -3
  114. data/lib/ffaker/job_ja.rb +2 -1
  115. data/lib/ffaker/job_kr.rb +1 -1
  116. data/lib/ffaker/job_vn.rb +13 -0
  117. data/lib/ffaker/locale.rb +2 -3
  118. data/lib/ffaker/lorem.rb +5 -5
  119. data/lib/ffaker/lorem_ar.rb +4 -4
  120. data/lib/ffaker/lorem_cn.rb +3 -3
  121. data/lib/ffaker/lorem_fr.rb +4 -4
  122. data/lib/ffaker/lorem_ja.rb +40 -0
  123. data/lib/ffaker/lorem_kr.rb +4 -4
  124. data/lib/ffaker/lorem_ua.rb +8 -11
  125. data/lib/ffaker/movie.rb +18 -20
  126. data/lib/ffaker/music.rb +4 -4
  127. data/lib/ffaker/name.rb +100 -11
  128. data/lib/ffaker/name_br.rb +37 -6
  129. data/lib/ffaker/name_cn.rb +2 -2
  130. data/lib/ffaker/name_cs.rb +10 -10
  131. data/lib/ffaker/name_da.rb +6 -6
  132. data/lib/ffaker/name_de.rb +5 -5
  133. data/lib/ffaker/name_fr.rb +4 -4
  134. data/lib/ffaker/name_ga.rb +4 -5
  135. data/lib/ffaker/name_gr.rb +60 -0
  136. data/lib/ffaker/name_it.rb +4 -4
  137. data/lib/ffaker/name_ja.rb +3 -3
  138. data/lib/ffaker/name_kh.rb +22 -0
  139. data/lib/ffaker/name_kr.rb +3 -3
  140. data/lib/ffaker/name_mx.rb +14 -14
  141. data/lib/ffaker/name_nb.rb +5 -5
  142. data/lib/ffaker/name_nl.rb +7 -7
  143. data/lib/ffaker/name_ph.rb +2 -2
  144. data/lib/ffaker/name_ru.rb +7 -8
  145. data/lib/ffaker/name_se.rb +5 -5
  146. data/lib/ffaker/name_sn.rb +23 -23
  147. data/lib/ffaker/name_th.rb +3 -3
  148. data/lib/ffaker/name_th_en.rb +26 -0
  149. data/lib/ffaker/name_ua.rb +8 -8
  150. data/lib/ffaker/name_vn.rb +4 -4
  151. data/lib/ffaker/nato_alphabet.rb +10 -10
  152. data/lib/ffaker/phone_number.rb +31 -21
  153. data/lib/ffaker/phone_number_au.rb +3 -3
  154. data/lib/ffaker/phone_number_br.rb +9 -8
  155. data/lib/ffaker/phone_number_ch.rb +7 -7
  156. data/lib/ffaker/phone_number_cu.rb +5 -5
  157. data/lib/ffaker/phone_number_de.rb +1 -1
  158. data/lib/ffaker/phone_number_fr.rb +4 -4
  159. data/lib/ffaker/phone_number_it.rb +2 -2
  160. data/lib/ffaker/phone_number_kr.rb +4 -4
  161. data/lib/ffaker/phone_number_mx.rb +4 -5
  162. data/lib/ffaker/phone_number_nl.rb +13 -13
  163. data/lib/ffaker/phone_number_se.rb +18 -19
  164. data/lib/ffaker/phone_number_sg.rb +8 -8
  165. data/lib/ffaker/phone_number_sn.rb +2 -2
  166. data/lib/ffaker/product.rb +18 -14
  167. data/lib/ffaker/skill.rb +3 -3
  168. data/lib/ffaker/sport.rb +1 -1
  169. data/lib/ffaker/ssn_se.rb +19 -20
  170. data/lib/ffaker/string.rb +21 -23
  171. data/lib/ffaker/time.rb +19 -7
  172. data/lib/ffaker/tweet.rb +59 -0
  173. data/lib/ffaker/unit.rb +12 -12
  174. data/lib/ffaker/unit_english.rb +34 -35
  175. data/lib/ffaker/unit_metric.rb +25 -25
  176. data/lib/ffaker/utils/array_utils.rb +12 -9
  177. data/lib/ffaker/utils/module_utils.rb +9 -6
  178. data/lib/ffaker/utils/random_utils.rb +33 -0
  179. data/lib/ffaker/vehicle.rb +21 -21
  180. data/lib/ffaker/venue.rb +1 -1
  181. data/lib/ffaker/youtube.rb +24 -0
  182. data/scripts/benchmark.rb +3 -3
  183. data/scripts/reference.rb +26 -23
  184. data/test/helper.rb +50 -0
  185. data/test/test_address.rb +40 -21
  186. data/test/test_address_au.rb +19 -9
  187. data/test/test_address_br.rb +9 -2
  188. data/test/test_address_ca.rb +7 -0
  189. data/test/test_address_ch.rb +6 -2
  190. data/test/test_address_ch_de.rb +7 -3
  191. data/test/test_address_ch_fr.rb +7 -3
  192. data/test/test_address_ch_it.rb +5 -1
  193. data/test/test_address_da.rb +18 -9
  194. data/test/test_address_de.rb +12 -5
  195. data/test/test_address_fi.rb +10 -3
  196. data/test/test_address_fr.rb +13 -0
  197. data/test/test_address_gr.rb +43 -0
  198. data/test/test_address_in.rb +20 -12
  199. data/test/test_address_kr.rb +14 -0
  200. data/test/test_address_mx.rb +12 -5
  201. data/test/test_address_nl.rb +11 -5
  202. data/test/test_address_ru.rb +11 -5
  203. data/test/test_address_se.rb +9 -3
  204. data/test/test_address_sn.rb +7 -1
  205. data/test/test_address_ua.rb +17 -10
  206. data/test/test_address_uk.rb +11 -3
  207. data/test/test_address_us.rb +15 -6
  208. data/test/test_airline.rb +17 -0
  209. data/test/test_array_utils.rb +51 -3
  210. data/test/test_avatar.rb +5 -1
  211. data/test/test_aws.rb +25 -0
  212. data/test/test_bacon_ipsum.rb +12 -6
  213. data/test/test_book.rb +41 -0
  214. data/test/test_boolean.rb +4 -0
  215. data/test/test_cheesy_lingo.rb +14 -10
  216. data/test/test_color.rb +126 -1
  217. data/test/test_color_ua.rb +5 -1
  218. data/test/test_company.rb +7 -0
  219. data/test/test_company_cn.rb +24 -0
  220. data/test/test_company_it.rb +7 -1
  221. data/test/test_company_se.rb +6 -0
  222. data/test/test_conference.rb +5 -2
  223. data/test/test_course_mathematiques.rb +5 -1
  224. data/test/test_course_philosophie.rb +5 -1
  225. data/test/test_currency.rb +12 -0
  226. data/test/test_dizzle_ipsum.rb +12 -6
  227. data/test/test_education.rb +9 -2
  228. data/test/test_faker.rb +8 -1
  229. data/test/test_food.rb +11 -4
  230. data/test/test_gender.rb +5 -1
  231. data/test/test_gender_br.rb +18 -0
  232. data/test/test_gender_cn.rb +5 -2
  233. data/test/test_gender_kr.rb +7 -3
  234. data/test/test_geolocation.rb +11 -8
  235. data/test/test_guid.rb +6 -1
  236. data/test/test_healthcare_ipsum.rb +13 -6
  237. data/test/test_hipster_ipsum.rb +13 -6
  238. data/test/test_html_ipsum.rb +28 -20
  239. data/test/test_identification.rb +9 -2
  240. data/test/test_identification_br.rb +46 -0
  241. data/test/test_identification_co.rb +7 -0
  242. data/test/test_identification_es.rb +5 -1
  243. data/test/test_identification_es_cl.rb +5 -1
  244. data/test/test_identification_es_mx.rb +7 -2
  245. data/test/test_identification_kr.rb +4 -0
  246. data/test/test_internet.rb +36 -5
  247. data/test/test_internet_se.rb +12 -4
  248. data/test/test_job.rb +4 -0
  249. data/test/test_job_br.rb +17 -0
  250. data/test/test_job_cn.rb +4 -0
  251. data/test/test_job_fr.rb +4 -0
  252. data/test/test_job_ja.rb +4 -0
  253. data/test/test_job_kr.rb +4 -0
  254. data/test/test_job_vn.rb +22 -0
  255. data/test/test_locale.rb +10 -4
  256. data/test/test_lorem.rb +18 -11
  257. data/test/test_lorem_ar.rb +16 -8
  258. data/test/test_lorem_cn.rb +9 -2
  259. data/test/test_lorem_fr.rb +16 -8
  260. data/test/test_lorem_ja.rb +81 -0
  261. data/test/test_lorem_kr.rb +17 -8
  262. data/test/test_lorem_ua.rb +15 -8
  263. data/test/test_module_utils.rb +2 -2
  264. data/test/test_movie.rb +5 -1
  265. data/test/test_music.rb +11 -4
  266. data/test/test_name.rb +114 -1
  267. data/test/test_name_br.rb +41 -2
  268. data/test/test_name_cn.rb +7 -0
  269. data/test/test_name_cs.rb +7 -0
  270. data/test/test_name_da.rb +13 -6
  271. data/test/test_name_de.rb +4 -0
  272. data/test/test_name_fr.rb +7 -0
  273. data/test/test_name_ga.rb +7 -0
  274. data/test/test_name_gr.rb +70 -0
  275. data/test/test_name_it.rb +7 -0
  276. data/test/test_name_ja.rb +7 -0
  277. data/test/test_name_kh.rb +32 -0
  278. data/test/test_name_kr.rb +7 -0
  279. data/test/test_name_mx.rb +9 -0
  280. data/test/test_name_nb.rb +8 -0
  281. data/test/test_name_nl.rb +4 -0
  282. data/test/test_name_ph.rb +7 -0
  283. data/test/test_name_ru.rb +10 -3
  284. data/test/test_name_se.rb +12 -4
  285. data/test/test_name_sn.rb +8 -0
  286. data/test/test_name_th.rb +7 -0
  287. data/test/test_name_th_en.rb +35 -0
  288. data/test/test_name_ua.rb +26 -17
  289. data/test/test_name_vn.rb +42 -0
  290. data/test/test_nato_alphabet.rb +15 -4
  291. data/test/test_phone_number.rb +24 -6
  292. data/test/test_phone_number_au.rb +17 -6
  293. data/test/test_phone_number_br.rb +22 -13
  294. data/test/test_phone_number_cu.rb +29 -18
  295. data/test/test_phone_number_da.rb +16 -7
  296. data/test/test_phone_number_de.rb +17 -9
  297. data/test/test_phone_number_kr.rb +9 -0
  298. data/test/test_phone_number_mx.rb +16 -8
  299. data/test/test_phone_number_nl.rb +9 -2
  300. data/test/test_phone_number_se.rb +12 -7
  301. data/test/test_phone_number_sg.rb +17 -9
  302. data/test/test_phone_number_sn.rb +12 -4
  303. data/test/test_products.rb +22 -0
  304. data/test/test_skill.rb +8 -2
  305. data/test/test_sports.rb +4 -0
  306. data/test/test_ssn.rb +3 -1
  307. data/test/test_ssn_mx.rb +6 -1
  308. data/test/test_ssn_se.rb +3 -0
  309. data/test/test_string.rb +28 -1
  310. data/test/test_time.rb +33 -2
  311. data/test/test_tweet.rb +59 -0
  312. data/test/test_units.rb +7 -0
  313. data/test/test_units_english.rb +9 -0
  314. data/test/test_units_metric.rb +9 -0
  315. data/test/test_vehicle.rb +24 -15
  316. data/test/test_venue.rb +5 -1
  317. data/test/test_youtube.rb +28 -0
  318. metadata +101 -5
  319. data/lib/ffaker/data/name/first_names +0 -3008
  320. data/lib/ffaker/data/name_br/first_names +0 -91
@@ -10,11 +10,11 @@ module FFaker
10
10
  end
11
11
 
12
12
  def first_name
13
- FIRST_NAMES.sample
13
+ fetch_sample(FIRST_NAMES)
14
14
  end
15
15
 
16
16
  def last_name
17
- LAST_NAMES.sample
17
+ fetch_sample(LAST_NAMES)
18
18
  end
19
19
 
20
20
  def last_first
@@ -12,13 +12,13 @@ module FFaker
12
12
  FIRST_NAMES = {
13
13
  female: %w(Alena Andrea Anna Barbora Božena Dagmar Dana Eliška Eva Hana Helena Irena Ivana Jana Jarmila Jaroslava Jiřina Jitka Kateřina Kristýna Lenka Libuše Lucie Ludmila Marcela Marie Markéta Marta Martina Michaela Miroslava Monika Pavla Petra Tereza Věra Veronika Vlasta Zdeňka Zuzana),
14
14
  male: %w(Adam Aleš Alexandr Alois Antonín Bedřich Bohumil Bohuslav Břetislav Dalibor Daniel David Denis Dominik Dušan Eduard Emil Filip František Ivan Ivo Jakub Jan Jaromír Jaroslav Jindřich Jiří Josef Jozef Kamil Karel Kryštof Ladislav Leoš Libor Lubomír Luboš Luděk Ludvík Lukáš Marcel Marek Marian Martin Matěj Matyáš Michael Michal Milan Miloslav Miloš Miroslav Oldřich Ondřej Otakar Patrik Pavel Petr Přemysl Radek Radim Radomír Radovan René Richard Robert Roman Rostislav Rudolf Samuel Stanislav Šimon Štefan Štěpán Tadeáš Tomáš Václav Viktor Vilém Vít Vítězslav Vladimír Vladislav Vlastimil Vojtěch Vratislav Zbyněk Zdeněk)
15
- }
16
- LAST_NAMES= {
15
+ }.freeze
16
+ LAST_NAMES = {
17
17
  female: %w(Dvořáková Černá Benešová Fialová Doležalová Čermáková Blažková Bartošová Čechová Dostálová Bláhová Burešová Dušková Beranová Bednářová Bártová Fišerová Bílková Beránková Brožová Čížková Adámková Daňková Filipová Červenková Čapková Bendová Adamcová Dvořáčková Brabcová Davidová Březinová Dlouhá Dohnalová Burianová Dufková Fojtíková Burdová Červená Boháčová Bartoňová Doleželová Dudová Adamová Bauerová Divišová Coufalová Čejková Berková Balážová),
18
18
  male: %w(Dvořák Černý Beneš Fiala Doležal Čermák Blažek Bartoš Čech Dostál Bláha Bureš Dušek Beran Bednář Bárta Bílek Beránek Fišer Brož Čížek Filip Červenka Adámek Daněk Dvořáček Benda Adamec Brabec Březina David Burian Čapek Dohnal Dlouhý Fojtík Bartoň Červený Dufek Burda Duda Adam Boháč Doležel Baláž Diviš Coufal Bauer Dolejší)
19
- }
20
- SUFFIXES = %w(Ph.D. Th.D. DSc.)
21
- GENDERS = [:male, :female, :random] # :nodoc:
19
+ }.freeze
20
+ SUFFIXES = %w(Ph.D. Th.D. DSc.).freeze
21
+ GENDERS = [:male, :female, :random].freeze # :nodoc:
22
22
 
23
23
  # All names generated inside the block will have the same sex.
24
24
  # Can be called with explicit sex which will affect
@@ -49,7 +49,7 @@ module FFaker
49
49
  case rand(10)
50
50
  when 0 then "#{prefix} #{first_name} #{last_name} #{suffix}"
51
51
  when 1..2 then "#{prefix} #{first_name} #{last_name}"
52
- else "#{first_name} #{last_name}"
52
+ else "#{first_name} #{last_name}"
53
53
  end
54
54
  end
55
55
  end
@@ -57,23 +57,23 @@ module FFaker
57
57
  # Generates random last name
58
58
  # for_sex can be :male, :female. Defaults to :random
59
59
  def last_name(for_sex = :random)
60
- LAST_NAMES[select_sex(for_sex)].sample
60
+ fetch_sample(LAST_NAMES[select_sex(for_sex)])
61
61
  end
62
62
 
63
63
  # Generates random first name
64
64
  # for_sex can be :male, :female. Defaults to :random
65
65
  def first_name(for_sex = :random)
66
- FIRST_NAMES[select_sex(for_sex)].sample
66
+ fetch_sample(FIRST_NAMES[select_sex(for_sex)])
67
67
  end
68
68
 
69
69
  # Generates random name prefix, an academic degree
70
70
  def prefix
71
- PREFIXES.sample
71
+ fetch_sample(PREFIXES)
72
72
  end
73
73
 
74
74
  # Generates random name suffix, an academic degree
75
75
  def suffix
76
- SUFFIXES.sample
76
+ fetch_sample(SUFFIXES)
77
77
  end
78
78
 
79
79
  private
@@ -9,7 +9,7 @@ module FFaker
9
9
  extend ModuleUtils
10
10
  extend self
11
11
 
12
- PREFIXES = %w(Hr. Fr. Dr. Prof.)
12
+ PREFIXES = %w(Hr. Fr. Dr. Prof.).freeze
13
13
 
14
14
  def name(gender = :any)
15
15
  generate_name(first_name(gender))
@@ -30,19 +30,19 @@ module FFaker
30
30
  def first_name(gender = :any)
31
31
  case gender
32
32
  when :any then (rand(2) == 0) ? first_name(:male) : first_name(:female)
33
- when :male then MALE_FIRST_NAMES.sample
34
- when :female then FEMALE_FIRST_NAMES.sample
33
+ when :male then fetch_sample(MALE_FIRST_NAMES)
34
+ when :female then fetch_sample(FEMALE_FIRST_NAMES)
35
35
  else
36
- fail ArgumentError, 'Invalid gender, must be one of :any, :male, :female'
36
+ raise ArgumentError, 'Invalid gender, must be one of :any, :male, :female'
37
37
  end
38
38
  end
39
39
 
40
40
  def last_name
41
- LAST_NAMES.sample
41
+ fetch_sample(LAST_NAMES)
42
42
  end
43
43
 
44
44
  def prefix
45
- PREFIXES.sample
45
+ fetch_sample(PREFIXES)
46
46
  end
47
47
 
48
48
  private
@@ -9,25 +9,25 @@ module FFaker
9
9
  extend ModuleUtils
10
10
  extend self
11
11
 
12
- PREFIXES = %w(Herr Frau Dr. Prof.)
12
+ PREFIXES = %w(Herr Frau Dr. Prof.).freeze
13
13
 
14
14
  def name
15
15
  case rand(10)
16
16
  when 0 then "#{prefix} #{first_name} #{last_name}"
17
- else "#{first_name} #{last_name}"
17
+ else "#{first_name} #{last_name}"
18
18
  end
19
19
  end
20
20
 
21
21
  def first_name
22
- FIRST_NAMES.sample
22
+ fetch_sample(FIRST_NAMES)
23
23
  end
24
24
 
25
25
  def last_name
26
- LAST_NAMES.sample
26
+ fetch_sample(LAST_NAMES)
27
27
  end
28
28
 
29
29
  def prefix
30
- PREFIXES.sample
30
+ fetch_sample(PREFIXES)
31
31
  end
32
32
  end
33
33
  end
@@ -8,20 +8,20 @@ module FFaker
8
8
  extend ModuleUtils
9
9
  extend self
10
10
 
11
- PREFIX = %w(de du le)
11
+ PREFIX = %w(de du le).freeze
12
12
 
13
13
  # randomized? (FRENCH) prefix!
14
14
  #
15
15
  def prefix
16
- PREFIX.sample
16
+ fetch_sample(PREFIX)
17
17
  end
18
18
 
19
19
  def last_name
20
- LAST_NAMES.sample
20
+ fetch_sample(LAST_NAMES)
21
21
  end
22
22
 
23
23
  def first_name
24
- FIRST_NAMES.sample
24
+ fetch_sample(FIRST_NAMES)
25
25
  end
26
26
 
27
27
  def name
@@ -1,25 +1,24 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module FFaker
4
-
5
4
  # Generates names from Gambia West Africa
6
5
  # Source: http://www.columbia.edu/~msj42/Common%20Gambian%20First%20Names.htm
7
6
  module NameGA
8
7
  extend ModuleUtils
9
8
  extend self
10
9
 
11
- LAST_NAMES = %w(jammeh ceesay)
10
+ LAST_NAMES = %w(jammeh ceesay).freeze
12
11
 
13
12
  def first_name_female
14
- FIRST_NAMES_FEMALE.sample
13
+ fetch_sample(FIRST_NAMES_FEMALE)
15
14
  end
16
15
 
17
16
  def first_name_male
18
- FIRST_NAMES_MALE.sample
17
+ fetch_sample(FIRST_NAMES_MALE)
19
18
  end
20
19
 
21
20
  def last_name
22
- LAST_NAMES.sample
21
+ fetch_sample(LAST_NAMES)
23
22
  end
24
23
 
25
24
  def name_male
@@ -0,0 +1,60 @@
1
+ # encoding: utf-8
2
+
3
+ module FFaker
4
+ # Author AntonyFalegkos<falegk1@gmail.com> github.com/falegk
5
+ module NameGR
6
+ extend ModuleUtils
7
+ extend self
8
+
9
+ # Random full name (male or female). Arguments :male, :female, :any
10
+ def full_name(gender = :any)
11
+ case gender
12
+ when :any then (rand(2) == 0) ? male_full_name : female_full_name
13
+ when :male then male_full_name
14
+ when :female then female_full_name
15
+ else raise ArgumentError, 'Invalid gender, must be one of :any, :male, :female'
16
+ end
17
+ end
18
+ alias name full_name
19
+
20
+ # Random last name (male or female)
21
+ def last_name
22
+ case rand(2)
23
+ when 0 then male_last_name
24
+ when 1 then female_last_name
25
+ end
26
+ end
27
+
28
+ # Random first name (male or female)
29
+ def first_name
30
+ case rand(2)
31
+ when 0 then male_first_name
32
+ when 1 then female_first_name
33
+ end
34
+ end
35
+
36
+ def male_full_name
37
+ "#{male_first_name} #{male_last_name}"
38
+ end
39
+
40
+ def female_full_name
41
+ "#{female_first_name} #{female_last_name}"
42
+ end
43
+
44
+ def male_first_name
45
+ fetch_sample(MALE_FIRST_NAMES)
46
+ end
47
+
48
+ def male_last_name
49
+ fetch_sample(MALE_LAST_NAMES)
50
+ end
51
+
52
+ def female_first_name
53
+ fetch_sample(FEMALE_FIRST_NAMES)
54
+ end
55
+
56
+ def female_last_name
57
+ fetch_sample(FEMALE_LAST_NAMES)
58
+ end
59
+ end
60
+ end
@@ -6,20 +6,20 @@ module FFaker
6
6
  extend ModuleUtils
7
7
  extend self
8
8
 
9
- PREFIX = %w(Sig. Sig.ra Sig.na Dr. Dott. Dott.ssa Prof. Prof.ssa)
9
+ PREFIX = %w(Sig. Sig.ra Sig.na Dr. Dott. Dott.ssa Prof. Prof.ssa).freeze
10
10
 
11
11
  # randomized? (ITALIAN) prefix!
12
12
  #
13
13
  def prefix
14
- PREFIX.sample
14
+ fetch_sample(PREFIX)
15
15
  end
16
16
 
17
17
  def last_name
18
- LAST_NAMES.sample
18
+ fetch_sample(LAST_NAMES)
19
19
  end
20
20
 
21
21
  def first_name
22
- FIRST_NAMES.sample
22
+ fetch_sample(FIRST_NAMES)
23
23
  end
24
24
 
25
25
  def name
@@ -6,17 +6,17 @@ module FFaker
6
6
  extend self
7
7
 
8
8
  def first_name
9
- FIRST_NAMES.sample
9
+ fetch_sample(FIRST_NAMES)
10
10
  end
11
11
 
12
12
  def last_name
13
- LAST_NAMES.sample
13
+ fetch_sample(LAST_NAMES)
14
14
  end
15
15
 
16
16
  def last_first
17
17
  "#{last_name}#{first_name}"
18
18
  end
19
19
 
20
- alias_method :name, :last_first
20
+ alias name last_first
21
21
  end
22
22
  end
@@ -0,0 +1,22 @@
1
+ module FFaker
2
+ module NameKH
3
+ extend ModuleUtils
4
+ extend self
5
+
6
+ def name
7
+ "#{last_name} #{first_name}"
8
+ end
9
+
10
+ def last_name
11
+ fetch_sample(LAST_NAMES)
12
+ end
13
+
14
+ def first_name
15
+ fetch_sample(FIRST_NAMES)
16
+ end
17
+
18
+ def nick_name
19
+ fetch_sample(NICK_NAMES)
20
+ end
21
+ end
22
+ end
@@ -14,13 +14,13 @@ module FFaker
14
14
  end
15
15
 
16
16
  def first_name
17
- FIRST_NAMES.sample
17
+ fetch_sample(FIRST_NAMES)
18
18
  end
19
19
 
20
20
  def last_name
21
- LAST_NAMES.sample
21
+ fetch_sample(LAST_NAMES)
22
22
  end
23
23
 
24
- alias_method :last_first, :name
24
+ alias last_first name
25
25
  end
26
26
  end
@@ -10,9 +10,9 @@ module FFaker
10
10
  extend ModuleUtils
11
11
  extend self
12
12
 
13
- MALE_PREFIXES = %w(Sr. C.)
14
- FEMALE_PREFIXES = %w(Sra. Srita. C.)
15
- PREFIXES = %w(Sr. Sra. Srita. C.)
13
+ MALE_PREFIXES = %w(Sr. C.).freeze
14
+ FEMALE_PREFIXES = %w(Sra. Srita. C.).freeze
15
+ PREFIXES = %w(Sr. Sra. Srita. C.).freeze
16
16
 
17
17
  # Full name according to gender and prefix, possibly with middle_name
18
18
  def full_name(gender = :any, prefix = false)
@@ -33,7 +33,7 @@ module FFaker
33
33
  end
34
34
  when :male then "#{male_prefix} #{male_name} #{paternal_last_names}"
35
35
  when :female then "#{female_prefix} #{female_name} #{paternal_last_names}"
36
- else raise ArgumentError, "Invalid gender, must be one of :any, :male, :female"
36
+ else raise ArgumentError, 'Invalid gender, must be one of :any, :male, :female'
37
37
  end
38
38
  end
39
39
 
@@ -47,7 +47,7 @@ module FFaker
47
47
  end
48
48
  when :male then "#{male_name} #{paternal_last_names}"
49
49
  when :female then "#{female_name} #{paternal_last_names}"
50
- else raise ArgumentError, "Invalid gender, must be one of :any, :male, :female"
50
+ else raise ArgumentError, 'Invalid gender, must be one of :any, :male, :female'
51
51
  end
52
52
  end
53
53
 
@@ -71,13 +71,13 @@ module FFaker
71
71
  def name(gender = :any)
72
72
  case gender
73
73
  when :any then (rand(2) == 0) ? name(:male) : name(:female)
74
- when :male then MALE_FIRST_NAMES.sample
75
- when :female then FEMALE_FIRST_NAMES.sample
76
- else raise ArgumentError, "Invalid gender, must be one of :any, :male, :female"
74
+ when :male then fetch_sample(MALE_FIRST_NAMES)
75
+ when :female then fetch_sample(FEMALE_FIRST_NAMES)
76
+ else raise ArgumentError, 'Invalid gender, must be one of :any, :male, :female'
77
77
  end
78
78
  end
79
- alias_method :middle_name, :name
80
- alias_method :first_name, :name
79
+ alias middle_name name
80
+ alias first_name name
81
81
 
82
82
  # Father's and mother's last name
83
83
  def paternal_last_names
@@ -85,19 +85,19 @@ module FFaker
85
85
  end
86
86
 
87
87
  def last_name
88
- LAST_NAMES.sample
88
+ fetch_sample(LAST_NAMES)
89
89
  end
90
90
 
91
91
  def prefix
92
- PREFIXES.sample
92
+ fetch_sample(PREFIXES)
93
93
  end
94
94
 
95
95
  def male_prefix
96
- MALE_PREFIXES.sample
96
+ fetch_sample(MALE_PREFIXES)
97
97
  end
98
98
 
99
99
  def female_prefix
100
- FEMALE_PREFIXES.sample
100
+ fetch_sample(FEMALE_PREFIXES)
101
101
  end
102
102
  end
103
103
  end
@@ -9,7 +9,7 @@ module FFaker
9
9
  extend ModuleUtils
10
10
  extend self
11
11
 
12
- PREFIXES = %w(Dr. Prof.)
12
+ PREFIXES = %w(Dr. Prof.).freeze
13
13
 
14
14
  def name
15
15
  case rand(30)
@@ -29,19 +29,19 @@ module FFaker
29
29
  end
30
30
 
31
31
  def first_name_female
32
- FIRST_NAMES_FEMALE.sample
32
+ fetch_sample(FIRST_NAMES_FEMALE)
33
33
  end
34
34
 
35
35
  def first_name_male
36
- FIRST_NAMES_MALE.sample
36
+ fetch_sample(FIRST_NAMES_MALE)
37
37
  end
38
38
 
39
39
  def last_name
40
- LAST_NAMES.sample
40
+ fetch_sample(LAST_NAMES)
41
41
  end
42
42
 
43
43
  def prefix
44
- PREFIXES.sample
44
+ fetch_sample(PREFIXES)
45
45
  end
46
46
  end
47
47
  end