ffaker 2.10.0 → 2.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (644) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +217 -15
  3. data/Gemfile +17 -0
  4. data/README.md +43 -10
  5. data/REFERENCE.md +1681 -1241
  6. data/Rakefile +20 -55
  7. data/bin/console +9 -0
  8. data/ffaker.gemspec +17 -23
  9. data/lib/ffaker/address.rb +7 -7
  10. data/lib/ffaker/address_au.rb +8 -10
  11. data/lib/ffaker/address_br.rb +16 -4
  12. data/lib/ffaker/address_ca.rb +3 -3
  13. data/lib/ffaker/address_ch.rb +1 -3
  14. data/lib/ffaker/address_ch_de.rb +1 -3
  15. data/lib/ffaker/address_ch_fr.rb +1 -3
  16. data/lib/ffaker/address_ch_it.rb +1 -3
  17. data/lib/ffaker/address_da.rb +1 -3
  18. data/lib/ffaker/address_de.rb +1 -3
  19. data/lib/ffaker/address_fi.rb +1 -3
  20. data/lib/ffaker/address_fr.rb +9 -9
  21. data/lib/ffaker/address_gr.rb +1 -3
  22. data/lib/ffaker/address_id.rb +0 -3
  23. data/lib/ffaker/address_in.rb +5 -3
  24. data/lib/ffaker/address_it.rb +33 -0
  25. data/lib/ffaker/address_ja.rb +0 -3
  26. data/lib/ffaker/address_kr.rb +0 -1
  27. data/lib/ffaker/address_mx.rb +3 -471
  28. data/lib/ffaker/address_nl.rb +2 -6
  29. data/lib/ffaker/address_pl.rb +0 -2
  30. data/lib/ffaker/address_ru.rb +1 -3
  31. data/lib/ffaker/address_se.rb +1 -3
  32. data/lib/ffaker/address_sn.rb +1 -4
  33. data/lib/ffaker/address_ua.rb +3 -5
  34. data/lib/ffaker/address_uk.rb +1 -3
  35. data/lib/ffaker/address_us.rb +23 -5
  36. data/lib/ffaker/airline.rb +1 -1
  37. data/lib/ffaker/animal.rb +14 -0
  38. data/lib/ffaker/{animals.rb → animal_br.rb} +2 -2
  39. data/lib/ffaker/animal_cn.rb +12 -0
  40. data/lib/ffaker/animal_es.rb +12 -0
  41. data/lib/ffaker/animal_pl.rb +15 -0
  42. data/lib/ffaker/animal_us.rb +12 -0
  43. data/lib/ffaker/avatar.rb +32 -6
  44. data/lib/ffaker/aws.rb +1 -1
  45. data/lib/ffaker/bacon_ipsum.rb +1 -3
  46. data/lib/ffaker/bank.rb +118 -0
  47. data/lib/ffaker/bank_us.rb +33 -0
  48. data/lib/ffaker/book.rb +16 -8
  49. data/lib/ffaker/boolean.rb +1 -1
  50. data/lib/ffaker/cheesy_lingo.rb +5 -8
  51. data/lib/ffaker/code.rb +17 -1
  52. data/lib/ffaker/color.rb +7 -7
  53. data/lib/ffaker/color_pl.rb +14 -0
  54. data/lib/ffaker/color_ua.rb +1 -1
  55. data/lib/ffaker/company.rb +6 -9
  56. data/lib/ffaker/company_cn.rb +1 -1
  57. data/lib/ffaker/company_fr.rb +35 -0
  58. data/lib/ffaker/company_it.rb +4 -2
  59. data/lib/ffaker/company_ja.rb +24 -0
  60. data/lib/ffaker/company_se.rb +1 -1
  61. data/lib/ffaker/conference.rb +1 -1
  62. data/lib/ffaker/{courses.rb → courses_fr.rb} +3 -1
  63. data/lib/ffaker/crypto.rb +14 -0
  64. data/lib/ffaker/currency.rb +1 -1
  65. data/lib/ffaker/data/address/city_suffixes +1 -1
  66. data/lib/ffaker/data/address/country +1 -1
  67. data/lib/ffaker/data/address/country_code +1 -1
  68. data/lib/ffaker/data/address/neighborhood +1 -1
  69. data/lib/ffaker/data/address/street_suffix +1 -1
  70. data/lib/ffaker/data/address_br/city +0 -1
  71. data/lib/ffaker/data/address_br/complement +3 -0
  72. data/lib/ffaker/data/address_br/neighborhood_prefixes +3 -0
  73. data/lib/ffaker/data/address_br/state +1 -1
  74. data/lib/ffaker/data/address_ca/city +99 -99
  75. data/lib/ffaker/data/address_ca/province +1 -1
  76. data/lib/ffaker/data/address_de/city +1 -1
  77. data/lib/ffaker/data/address_de/state +2 -1
  78. data/lib/ffaker/data/address_fr/city +1 -1
  79. data/lib/ffaker/data/address_fr/region +27 -0
  80. data/lib/ffaker/data/address_gr/city +1 -1
  81. data/lib/ffaker/data/address_gr/region +1 -1
  82. data/lib/ffaker/data/address_gr/street +1 -1
  83. data/lib/ffaker/data/address_in/city +24 -0
  84. data/lib/ffaker/data/address_it/city +111 -0
  85. data/lib/ffaker/data/address_it/region +20 -0
  86. data/lib/ffaker/data/address_ja/city +0 -23
  87. data/lib/ffaker/data/address_mx/ags +11 -0
  88. data/lib/ffaker/data/address_mx/bc +5 -0
  89. data/lib/ffaker/data/address_mx/bcs +5 -0
  90. data/lib/ffaker/data/address_mx/camp +11 -0
  91. data/lib/ffaker/data/address_mx/chih +67 -0
  92. data/lib/ffaker/data/address_mx/chis +118 -0
  93. data/lib/ffaker/data/address_mx/coah +38 -0
  94. data/lib/ffaker/data/address_mx/col +10 -0
  95. data/lib/ffaker/data/address_mx/df +16 -0
  96. data/lib/ffaker/data/address_mx/dgo +39 -0
  97. data/lib/ffaker/data/address_mx/gro +81 -0
  98. data/lib/ffaker/data/address_mx/gto +46 -0
  99. data/lib/ffaker/data/address_mx/hgo +84 -0
  100. data/lib/ffaker/data/address_mx/jal +125 -0
  101. data/lib/ffaker/data/address_mx/mex +125 -0
  102. data/lib/ffaker/data/address_mx/mich +113 -0
  103. data/lib/ffaker/data/address_mx/mor +33 -0
  104. data/lib/ffaker/data/address_mx/nay +20 -0
  105. data/lib/ffaker/data/address_mx/nl +51 -0
  106. data/lib/ffaker/data/address_mx/oax +570 -0
  107. data/lib/ffaker/data/address_mx/pue +217 -0
  108. data/lib/ffaker/data/address_mx/qr +10 -0
  109. data/lib/ffaker/data/address_mx/qro +18 -0
  110. data/lib/ffaker/data/address_mx/sin +18 -0
  111. data/lib/ffaker/data/address_mx/slp +58 -0
  112. data/lib/ffaker/data/address_mx/son +72 -0
  113. data/lib/ffaker/data/address_mx/state +1 -1
  114. data/lib/ffaker/data/address_mx/state_abbr +1 -1
  115. data/lib/ffaker/data/address_mx/tab +17 -0
  116. data/lib/ffaker/data/address_mx/tamps +43 -0
  117. data/lib/ffaker/data/address_mx/tlax +60 -0
  118. data/lib/ffaker/data/address_mx/ver +212 -0
  119. data/lib/ffaker/data/address_mx/yuc +106 -0
  120. data/lib/ffaker/data/address_mx/zac +58 -0
  121. data/lib/ffaker/data/address_ru/city +1 -1
  122. data/lib/ffaker/data/address_se/city +1 -1
  123. data/lib/ffaker/data/address_se/countries +1 -1
  124. data/lib/ffaker/data/address_se/street +1 -1
  125. data/lib/ffaker/data/address_sn/arrondissements +1 -1
  126. data/lib/ffaker/data/address_sn/departements +1 -1
  127. data/lib/ffaker/data/address_sn/regions +1 -1
  128. data/lib/ffaker/data/address_uk/county +1 -1
  129. data/lib/ffaker/data/address_us/state +1 -1
  130. data/lib/ffaker/data/address_us/state_abbr +1 -2
  131. data/lib/ffaker/data/address_us/state_and_territories_abbr +1 -1
  132. data/lib/ffaker/data/animal_br/common_names +423 -0
  133. data/lib/ffaker/data/animal_cn/common_names +141 -0
  134. data/lib/ffaker/data/animal_es/common_names +135 -0
  135. data/lib/ffaker/data/animal_pl/common_names +256 -0
  136. data/lib/ffaker/data/animal_us/common_names +141 -0
  137. data/lib/ffaker/data/aws/ec2_reserved_instance_tenancy +1 -1
  138. data/lib/ffaker/data/aws/ec2_reserved_offering_type +1 -1
  139. data/lib/ffaker/data/aws/ec2_reserved_product_description +1 -1
  140. data/lib/ffaker/data/bank/card_types +12 -0
  141. data/lib/ffaker/data/book/nouns +2 -2
  142. data/lib/ffaker/data/cheesy_lingo/cheesy_phrases +1 -1
  143. data/lib/ffaker/data/cheesy_lingo/cheesy_words +1 -1
  144. data/lib/ffaker/data/color/names_list +1 -1
  145. data/lib/ffaker/data/color_pl/names_list +122 -0
  146. data/lib/ffaker/data/company/bs_mid +1 -1
  147. data/lib/ffaker/data/company/bs_pos +1 -1
  148. data/lib/ffaker/data/company/bs_pre +1 -1
  149. data/lib/ffaker/data/company/catch_mid +1 -1
  150. data/lib/ffaker/data/company/catch_pos +1 -1
  151. data/lib/ffaker/data/company/catch_pre +1 -1
  152. data/lib/ffaker/data/company/position_areas +1 -1
  153. data/lib/ffaker/data/conference/conference_list +1 -1
  154. data/lib/ffaker/data/currency/currency_code +1 -1
  155. data/lib/ffaker/data/currency/currency_name +1 -1
  156. data/lib/ffaker/data/currency/currency_symbol +0 -1
  157. data/lib/ffaker/data/dizzle_ipsum/dizzle_words +1 -1
  158. data/lib/ffaker/data/education/major_noun +1 -1
  159. data/lib/ffaker/data/education/school_suffix +1 -1
  160. data/lib/ffaker/data/education_cn/city +351 -0
  161. data/lib/ffaker/data/education_cn/major +506 -0
  162. data/lib/ffaker/data/education_cn/province +31 -0
  163. data/lib/ffaker/data/education_cn/school_type +27 -0
  164. data/lib/ffaker/data/filesystem/extension +31 -31
  165. data/lib/ffaker/data/food/fruit +1 -1
  166. data/lib/ffaker/data/food/herb_spice +1 -1
  167. data/lib/ffaker/data/food/meat +1 -1
  168. data/lib/ffaker/data/food/vegetable +1 -1
  169. data/lib/ffaker/data/food_pl/diary +14 -0
  170. data/lib/ffaker/data/food_pl/fermented +13 -0
  171. data/lib/ffaker/data/food_pl/fruits +34 -0
  172. data/lib/ffaker/data/food_pl/herbs +20 -0
  173. data/lib/ffaker/data/food_pl/meats +9 -0
  174. data/lib/ffaker/data/food_pl/preserves +10 -0
  175. data/lib/ffaker/data/food_pl/spices +26 -0
  176. data/lib/ffaker/data/food_pl/vegetables +45 -0
  177. data/lib/ffaker/data/freedom_ipsum/freedom_words +161 -0
  178. data/lib/ffaker/data/game/adj_and_adv +18 -0
  179. data/lib/ffaker/data/game/category +84 -0
  180. data/lib/ffaker/data/game/mechanic +182 -0
  181. data/lib/ffaker/data/game/nouns +37 -0
  182. data/lib/ffaker/data/game/prefixes +17 -0
  183. data/lib/ffaker/data/healthcare_ru/doctor_specialization +127 -0
  184. data/lib/ffaker/data/hipster_ipsum/hipster_words +1 -1
  185. data/lib/ffaker/data/identification_mx/estados_curp +1 -1
  186. data/lib/ffaker/data/jo_jo/first_names +356 -0
  187. data/lib/ffaker/data/jo_jo/full_names +225 -0
  188. data/lib/ffaker/data/jo_jo/last_names +153 -0
  189. data/lib/ffaker/data/jo_jo/stands +149 -0
  190. data/lib/ffaker/data/job/job_adj +1 -1
  191. data/lib/ffaker/data/job/job_noun +1 -1
  192. data/lib/ffaker/data/job/job_prefix +1 -1
  193. data/lib/ffaker/data/job_fr/job_prefixes +1 -1
  194. data/lib/ffaker/data/job_it/job_adj +37 -0
  195. data/lib/ffaker/data/job_it/job_noun +25 -0
  196. data/lib/ffaker/data/job_it/job_prefix +22 -0
  197. data/lib/ffaker/data/locale/language +1 -1
  198. data/lib/ffaker/data/locale/language_code +1 -1
  199. data/lib/ffaker/data/lorem/characters +1 -1
  200. data/lib/ffaker/data/lorem/words +1 -68
  201. data/lib/ffaker/data/lorem_ar/words +1 -1
  202. data/lib/ffaker/data/lorem_br/characters +36 -0
  203. data/lib/ffaker/data/lorem_br/words +183 -0
  204. data/lib/ffaker/data/lorem_cn/words +1 -1
  205. data/lib/ffaker/data/lorem_fr/words +1 -1
  206. data/lib/ffaker/data/lorem_it/words +321 -0
  207. data/lib/ffaker/data/movie/adj_and_adv +1 -1
  208. data/lib/ffaker/data/movie/nouns +3 -3
  209. data/lib/ffaker/data/movie/prefixes +1 -1
  210. data/lib/ffaker/data/name/first_names_female +0 -230
  211. data/lib/ffaker/data/name/first_names_male +0 -37
  212. data/lib/ffaker/data/name/last_names +1 -2
  213. data/lib/ffaker/data/name/pronouns +6 -0
  214. data/lib/ffaker/data/name_ar/first_names_female +1 -1
  215. data/lib/ffaker/data/name_ar/first_names_male +1 -1
  216. data/lib/ffaker/data/name_ar/last_names +1 -1
  217. data/lib/ffaker/data/name_cn/first_names +1 -1
  218. data/lib/ffaker/data/name_cn/last_names +1 -1
  219. data/lib/ffaker/data/name_cs/female_first_names +40 -0
  220. data/lib/ffaker/data/name_cs/female_last_names +50 -0
  221. data/lib/ffaker/data/name_cs/male_first_names +88 -0
  222. data/lib/ffaker/data/name_cs/male_last_names +49 -0
  223. data/lib/ffaker/data/name_cs/prefixes +4 -4
  224. data/lib/ffaker/data/name_de/first_names +1 -1
  225. data/lib/ffaker/data/name_de/last_names +1 -1
  226. data/lib/ffaker/data/name_fr/first_names +1 -1
  227. data/lib/ffaker/data/name_fr/last_names +1 -1
  228. data/lib/ffaker/data/name_ga/first_names_female +1 -1
  229. data/lib/ffaker/data/name_ga/first_names_male +287 -287
  230. data/lib/ffaker/data/name_gr/female_first_names +1 -1
  231. data/lib/ffaker/data/name_gr/female_last_names +1 -1
  232. data/lib/ffaker/data/name_gr/male_first_names +1 -1
  233. data/lib/ffaker/data/name_gr/male_last_names +1 -1
  234. data/lib/ffaker/data/name_in/first_names_female +100 -0
  235. data/lib/ffaker/data/name_in/first_names_male +100 -0
  236. data/lib/ffaker/data/name_in/last_names +100 -0
  237. data/lib/ffaker/data/name_it/first_names +1 -1
  238. data/lib/ffaker/data/name_it/last_names +1 -1
  239. data/lib/ffaker/data/name_ja/first_names +1 -1
  240. data/lib/ffaker/data/name_ja/last_names +1 -1
  241. data/lib/ffaker/data/name_kh/first_names +1 -1
  242. data/lib/ffaker/data/name_kh/nick_names +1 -1
  243. data/lib/ffaker/data/name_kr/first_names +1 -1
  244. data/lib/ffaker/data/name_kr/last_names +1 -1
  245. data/lib/ffaker/data/name_mx/female_first_names +1 -1
  246. data/lib/ffaker/data/name_mx/last_names +1 -1
  247. data/lib/ffaker/data/name_mx/male_first_names +1 -1
  248. data/lib/ffaker/data/name_ph/autochthonous_surnames +1 -1
  249. data/lib/ffaker/data/name_ph/spanish_surnames +1 -1
  250. data/lib/ffaker/data/name_ru/first_names_female +91 -0
  251. data/lib/ffaker/data/name_ru/first_names_male +172 -0
  252. data/lib/ffaker/data/name_ru/last_names_female +100 -0
  253. data/lib/ffaker/data/name_ru/last_names_male +100 -0
  254. data/lib/ffaker/data/name_ru/middle_names_female +65 -0
  255. data/lib/ffaker/data/name_ru/middle_names_male +73 -0
  256. data/lib/ffaker/data/name_se/first_names_female +1 -1
  257. data/lib/ffaker/data/name_se/first_names_male +1 -1
  258. data/lib/ffaker/data/name_se/last_names +1 -1
  259. data/lib/ffaker/data/name_sn/first_names_female +1 -1
  260. data/lib/ffaker/data/name_sn/first_names_male +1 -1
  261. data/lib/ffaker/data/name_sn/last_names +1 -1
  262. data/lib/ffaker/data/name_th/first_names +1 -1
  263. data/lib/ffaker/data/name_th/last_names +1 -1
  264. data/lib/ffaker/data/name_th/nick_names +1 -1
  265. data/lib/ffaker/data/name_tw/first_names +122 -0
  266. data/lib/ffaker/data/name_tw/last_names +100 -0
  267. data/lib/ffaker/data/nato_alphabet/alphabet_codes +26 -0
  268. data/lib/ffaker/data/nato_alphabet/numeric_codes +10 -0
  269. data/lib/ffaker/data/phone_number_ja/four_disit_area_codes +41 -0
  270. data/lib/ffaker/data/phone_number_ja/one_disit_area_codes +3 -0
  271. data/lib/ffaker/data/phone_number_ja/three_disit_area_codes +296 -0
  272. data/lib/ffaker/data/phone_number_ja/two_disit_area_codes +48 -0
  273. data/lib/ffaker/data/phone_number_nl/area_codes +142 -0
  274. data/lib/ffaker/data/phone_number_ru/home_phone_prefixes +107 -0
  275. data/lib/ffaker/data/phone_number_ru/mobile_phone_prefixes +61 -0
  276. data/lib/ffaker/data/phone_number_se/phone_prefix +1 -1
  277. data/lib/ffaker/data/phone_number_ua/home_phone_prefixes +29 -0
  278. data/lib/ffaker/data/phone_number_ua/mobile_phone_prefixes +11 -0
  279. data/lib/ffaker/data/product/adj +1 -1
  280. data/lib/ffaker/data/product/b1 +1 -1
  281. data/lib/ffaker/data/product/noun +4 -1
  282. data/lib/ffaker/data/skill/specialty_end +1 -1
  283. data/lib/ffaker/data/skill/specialty_start +1 -1
  284. data/lib/ffaker/data/skill/tech_skills +1 -1
  285. data/lib/ffaker/data/sport_pl/summer +53 -0
  286. data/lib/ffaker/data/sport_pl/winter +14 -0
  287. data/lib/ffaker/data/sport_ru/summer +68 -0
  288. data/lib/ffaker/data/sport_ru/winter +20 -0
  289. data/lib/ffaker/data/sport_us/names +67 -0
  290. data/lib/ffaker/data/vehicle/color_prefixes +25 -0
  291. data/lib/ffaker/data/vehicle/displacements_list +1 -1
  292. data/lib/ffaker/data/vehicle/fuel_types_list +1 -1
  293. data/lib/ffaker/data/vehicle/makes_list +1 -1
  294. data/lib/ffaker/data/vehicle/transmissions_list +1 -1
  295. data/lib/ffaker/data/vehicle/upholstery_list +1 -1
  296. data/lib/ffaker/data/venue/venue_list +1 -1
  297. data/lib/ffaker/date.rb +40 -0
  298. data/lib/ffaker/dizzle_ipsum.rb +1 -3
  299. data/lib/ffaker/education.rb +9 -10
  300. data/lib/ffaker/education_cn.rb +37 -0
  301. data/lib/ffaker/filesystem.rb +18 -8
  302. data/lib/ffaker/food.rb +2 -0
  303. data/lib/ffaker/food_pl.rb +65 -0
  304. data/lib/ffaker/freedom_ipsum.rb +20 -0
  305. data/lib/ffaker/game.rb +33 -0
  306. data/lib/ffaker/gender.rb +1 -1
  307. data/lib/ffaker/gender_br.rb +1 -1
  308. data/lib/ffaker/gender_cn.rb +1 -1
  309. data/lib/ffaker/gender_id.rb +0 -1
  310. data/lib/ffaker/gender_it.rb +17 -0
  311. data/lib/ffaker/gender_ja.rb +18 -0
  312. data/lib/ffaker/gender_jp.rb +11 -0
  313. data/lib/ffaker/gender_kr.rb +1 -1
  314. data/lib/ffaker/gender_pl.rb +19 -0
  315. data/lib/ffaker/gender_ru.rb +22 -0
  316. data/lib/ffaker/geolocation.rb +34 -24
  317. data/lib/ffaker/guid.rb +1 -1
  318. data/lib/ffaker/healthcare_ipsum.rb +1 -3
  319. data/lib/ffaker/healthcare_ru.rb +12 -0
  320. data/lib/ffaker/hipster_ipsum.rb +1 -3
  321. data/lib/ffaker/html_ipsum.rb +10 -4
  322. data/lib/ffaker/identification.rb +5 -2
  323. data/lib/ffaker/identification_br.rb +4 -13
  324. data/lib/ffaker/identification_ec.rb +39 -0
  325. data/lib/ffaker/identification_es.rb +1 -1
  326. data/lib/ffaker/identification_es_cl.rb +7 -6
  327. data/lib/ffaker/identification_es_co.rb +3 -4
  328. data/lib/ffaker/identification_in.rb +15 -0
  329. data/lib/ffaker/identification_it.rb +30 -0
  330. data/lib/ffaker/identification_kr.rb +13 -6
  331. data/lib/ffaker/identification_mx.rb +14 -20
  332. data/lib/ffaker/identification_pl.rb +77 -0
  333. data/lib/ffaker/identification_tw.rb +24 -0
  334. data/lib/ffaker/image.rb +37 -14
  335. data/lib/ffaker/internet.rb +18 -25
  336. data/lib/ffaker/internet_se.rb +8 -10
  337. data/lib/ffaker/jo_jo.rb +24 -0
  338. data/lib/ffaker/job.rb +1 -1
  339. data/lib/ffaker/job_br.rb +1 -1
  340. data/lib/ffaker/job_cn.rb +1 -1
  341. data/lib/ffaker/job_fr.rb +1 -1
  342. data/lib/ffaker/job_it.rb +12 -0
  343. data/lib/ffaker/job_ja.rb +0 -1
  344. data/lib/ffaker/job_kr.rb +1 -1
  345. data/lib/ffaker/job_vn.rb +0 -1
  346. data/lib/ffaker/locale.rb +8 -12
  347. data/lib/ffaker/lorem.rb +6 -7
  348. data/lib/ffaker/lorem_ar.rb +1 -1
  349. data/lib/ffaker/lorem_br.rb +45 -0
  350. data/lib/ffaker/lorem_cn.rb +1 -2
  351. data/lib/ffaker/lorem_fr.rb +1 -1
  352. data/lib/ffaker/lorem_ie.rb +0 -1
  353. data/lib/ffaker/lorem_it.rb +39 -0
  354. data/lib/ffaker/lorem_ja.rb +2 -2
  355. data/lib/ffaker/lorem_kr.rb +1 -1
  356. data/lib/ffaker/lorem_pl.rb +0 -2
  357. data/lib/ffaker/lorem_ru.rb +1 -2
  358. data/lib/ffaker/lorem_ua.rb +3 -5
  359. data/lib/ffaker/movie.rb +8 -5
  360. data/lib/ffaker/music.rb +1 -1
  361. data/lib/ffaker/name.rb +5 -1
  362. data/lib/ffaker/name_ar.rb +0 -1
  363. data/lib/ffaker/name_br.rb +1 -1
  364. data/lib/ffaker/name_cn.rb +1 -1
  365. data/lib/ffaker/name_cs.rb +7 -9
  366. data/lib/ffaker/name_da.rb +2 -4
  367. data/lib/ffaker/name_de.rb +1 -3
  368. data/lib/ffaker/name_es.rb +0 -2
  369. data/lib/ffaker/name_fr.rb +5 -5
  370. data/lib/ffaker/name_ga.rb +1 -1
  371. data/lib/ffaker/name_gr.rb +2 -3
  372. data/lib/ffaker/name_id.rb +0 -1
  373. data/lib/ffaker/name_in.rb +39 -0
  374. data/lib/ffaker/name_it.rb +2 -3
  375. data/lib/ffaker/name_ja.rb +1 -1
  376. data/lib/ffaker/name_kh.rb +2 -0
  377. data/lib/ffaker/name_kr.rb +1 -1
  378. data/lib/ffaker/name_mx.rb +4 -6
  379. data/lib/ffaker/name_nb.rb +1 -3
  380. data/lib/ffaker/name_nl.rb +1 -3
  381. data/lib/ffaker/name_ph.rb +1 -3
  382. data/lib/ffaker/name_pl.rb +2 -3
  383. data/lib/ffaker/name_ru.rb +32 -71
  384. data/lib/ffaker/name_se.rb +1 -3
  385. data/lib/ffaker/name_sn.rb +3 -6
  386. data/lib/ffaker/name_th.rb +1 -1
  387. data/lib/ffaker/name_th_en.rb +2 -2
  388. data/lib/ffaker/name_tw.rb +20 -0
  389. data/lib/ffaker/name_ua.rb +1 -3
  390. data/lib/ffaker/name_vn.rb +1 -1
  391. data/lib/ffaker/nato_alphabet.rb +2 -4
  392. data/lib/ffaker/number.rb +30 -0
  393. data/lib/ffaker/phone_number.rb +1 -1
  394. data/lib/ffaker/phone_number_au.rb +11 -12
  395. data/lib/ffaker/phone_number_br.rb +16 -14
  396. data/lib/ffaker/phone_number_ch.rb +1 -1
  397. data/lib/ffaker/phone_number_cu.rb +18 -27
  398. data/lib/ffaker/phone_number_da.rb +1 -3
  399. data/lib/ffaker/phone_number_de.rb +4 -5
  400. data/lib/ffaker/phone_number_fr.rb +3 -12
  401. data/lib/ffaker/phone_number_id.rb +2 -6
  402. data/lib/ffaker/phone_number_it.rb +9 -7
  403. data/lib/ffaker/phone_number_ja.rb +88 -0
  404. data/lib/ffaker/phone_number_kr.rb +1 -1
  405. data/lib/ffaker/phone_number_mx.rb +1 -2
  406. data/lib/ffaker/phone_number_nl.rb +9 -12
  407. data/lib/ffaker/phone_number_pl.rb +68 -0
  408. data/lib/ffaker/phone_number_ru.rb +120 -0
  409. data/lib/ffaker/phone_number_se.rb +1 -1
  410. data/lib/ffaker/phone_number_sg.rb +1 -1
  411. data/lib/ffaker/phone_number_sn.rb +12 -19
  412. data/lib/ffaker/phone_number_tw.rb +49 -0
  413. data/lib/ffaker/phone_number_ua.rb +42 -0
  414. data/lib/ffaker/product.rb +10 -12
  415. data/lib/ffaker/sem_ver.rb +19 -0
  416. data/lib/ffaker/skill.rb +2 -2
  417. data/lib/ffaker/sport.rb +4 -0
  418. data/lib/ffaker/sport_pl.rb +25 -0
  419. data/lib/ffaker/sport_ru.rb +25 -0
  420. data/lib/ffaker/sport_us.rb +12 -0
  421. data/lib/ffaker/ssn.rb +5 -5
  422. data/lib/ffaker/ssn_mx.rb +1 -2
  423. data/lib/ffaker/ssn_se.rb +16 -44
  424. data/lib/ffaker/string.rb +18 -17
  425. data/lib/ffaker/time.rb +12 -11
  426. data/lib/ffaker/tweet.rb +4 -4
  427. data/lib/ffaker/unit.rb +10 -11
  428. data/lib/ffaker/unit_english.rb +19 -22
  429. data/lib/ffaker/unit_metric.rb +16 -19
  430. data/lib/ffaker/utils/array_utils.rb +8 -5
  431. data/lib/ffaker/utils/module_utils.rb +27 -6
  432. data/lib/ffaker/utils/random_utils.rb +4 -0
  433. data/lib/ffaker/utils/unique_utils.rb +32 -21
  434. data/lib/ffaker/vehicle.rb +67 -9
  435. data/lib/ffaker/venue.rb +1 -1
  436. data/lib/ffaker/version.rb +5 -0
  437. data/lib/ffaker/youtube.rb +1 -1
  438. data/lib/ffaker.rb +74 -164
  439. data/scripts/benchmark.rb +12 -11
  440. data/scripts/profiling.rb +3 -1
  441. data/scripts/reference.rb +26 -24
  442. data/test/helper.rb +41 -6
  443. data/test/test_address.rb +2 -2
  444. data/test/test_address_au.rb +7 -8
  445. data/test/test_address_br.rb +17 -4
  446. data/test/test_address_ca.rb +2 -2
  447. data/test/test_address_ch.rb +2 -2
  448. data/test/test_address_ch_de.rb +2 -2
  449. data/test/test_address_ch_fr.rb +2 -2
  450. data/test/test_address_ch_it.rb +2 -2
  451. data/test/test_address_da.rb +5 -5
  452. data/test/test_address_de.rb +2 -2
  453. data/test/test_address_fi.rb +4 -5
  454. data/test/test_address_fr.rb +3 -4
  455. data/test/test_address_gr.rb +2 -2
  456. data/test/test_address_id.rb +2 -3
  457. data/test/test_address_in.rb +2 -2
  458. data/test/test_address_it.rb +12 -0
  459. data/test/test_address_ja.rb +2 -3
  460. data/test/test_address_kr.rb +1 -2
  461. data/test/test_address_mx.rb +2 -3
  462. data/test/test_address_nl.rb +3 -3
  463. data/test/test_address_pl.rb +1 -2
  464. data/test/test_address_ru.rb +2 -2
  465. data/test/test_address_se.rb +4 -4
  466. data/test/test_address_sn.rb +2 -5
  467. data/test/test_address_ua.rb +2 -2
  468. data/test/test_address_uk.rb +2 -2
  469. data/test/test_address_us.rb +11 -2
  470. data/test/test_airline.rb +2 -2
  471. data/test/test_animal.rb +2 -2
  472. data/test/test_animal_br.rb +17 -0
  473. data/test/test_animal_cn.rb +17 -0
  474. data/test/test_animal_es.rb +17 -0
  475. data/test/test_animal_pl.rb +17 -0
  476. data/test/test_animal_us.rb +17 -0
  477. data/test/test_array_utils.rb +3 -3
  478. data/test/test_avatar.rb +35 -10
  479. data/test/test_aws.rb +3 -3
  480. data/test/test_bacon_ipsum.rb +2 -2
  481. data/test/test_bank.rb +53 -0
  482. data/test/test_bank_us.rb +35 -0
  483. data/test/test_book.rb +35 -6
  484. data/test/test_boolean.rb +3 -3
  485. data/test/test_cheesy_lingo.rb +4 -2
  486. data/test/test_code.rb +23 -3
  487. data/test/test_color.rb +2 -2
  488. data/test/test_color_pl.rb +13 -0
  489. data/test/test_color_ua.rb +2 -2
  490. data/test/test_company.rb +4 -4
  491. data/test/test_company_cn.rb +2 -2
  492. data/test/test_company_fr.rb +33 -0
  493. data/test/test_company_it.rb +2 -2
  494. data/test/test_company_ja.rb +28 -0
  495. data/test/test_company_se.rb +2 -2
  496. data/test/test_conference.rb +2 -2
  497. data/test/test_course_mathematiques.rb +3 -1
  498. data/test/test_course_philosophie.rb +3 -1
  499. data/test/test_crypto.rb +15 -0
  500. data/test/test_currency.rb +2 -2
  501. data/test/test_date.rb +47 -0
  502. data/test/test_dizzle_ipsum.rb +2 -2
  503. data/test/test_education.rb +2 -2
  504. data/test/test_education_cn.rb +29 -0
  505. data/test/{test_faker.rb → test_ffaker.rb} +7 -3
  506. data/test/test_filesystem.rb +39 -5
  507. data/test/test_food.rb +3 -3
  508. data/test/test_food_pl.rb +61 -0
  509. data/test/test_freedom_ipsum.rb +21 -0
  510. data/test/test_game.rb +28 -0
  511. data/test/test_gender.rb +3 -3
  512. data/test/test_gender_br.rb +2 -2
  513. data/test/test_gender_cn.rb +2 -2
  514. data/test/test_gender_id.rb +1 -2
  515. data/test/test_gender_it.rb +27 -0
  516. data/test/test_gender_ja.rb +27 -0
  517. data/test/test_gender_jp.rb +27 -0
  518. data/test/test_gender_kr.rb +2 -2
  519. data/test/test_gender_pl.rb +27 -0
  520. data/test/test_gender_ru.rb +23 -0
  521. data/test/test_geolocation.rb +4 -4
  522. data/test/test_guid.rb +2 -2
  523. data/test/test_healthcare_ipsum.rb +3 -1
  524. data/test/test_healthcare_ru.rb +19 -0
  525. data/test/test_hipster_ipsum.rb +2 -2
  526. data/test/test_html_ipsum.rb +20 -14
  527. data/test/test_identification.rb +14 -4
  528. data/test/test_identification_br.rb +2 -2
  529. data/test/test_identification_co.rb +5 -3
  530. data/test/test_identification_ec.rb +33 -0
  531. data/test/test_identification_es.rb +2 -2
  532. data/test/test_identification_es_cl.rb +3 -3
  533. data/test/test_identification_es_mx.rb +5 -4
  534. data/test/test_identification_in.rb +20 -0
  535. data/test/test_identification_it.rb +45 -0
  536. data/test/test_identification_kr.rb +5 -5
  537. data/test/test_identification_pl.rb +28 -0
  538. data/test/test_identification_tw.rb +17 -0
  539. data/test/test_image.rb +56 -10
  540. data/test/test_internet.rb +18 -16
  541. data/test/test_internet_se.rb +12 -9
  542. data/test/test_jo_jo.rb +29 -0
  543. data/test/test_job.rb +2 -2
  544. data/test/test_job_br.rb +2 -2
  545. data/test/test_job_cn.rb +3 -3
  546. data/test/test_job_fr.rb +2 -2
  547. data/test/test_job_it.rb +17 -0
  548. data/test/test_job_ja.rb +3 -3
  549. data/test/test_job_kr.rb +3 -3
  550. data/test/test_job_vn.rb +2 -3
  551. data/test/test_locale.rb +2 -2
  552. data/test/test_lorem.rb +6 -2
  553. data/test/test_lorem_ar.rb +3 -4
  554. data/test/test_lorem_br.rb +62 -0
  555. data/test/test_lorem_cn.rb +11 -11
  556. data/test/test_lorem_fr.rb +14 -12
  557. data/test/test_lorem_ie.rb +1 -2
  558. data/test/test_lorem_it.rb +51 -0
  559. data/test/test_lorem_ja.rb +5 -5
  560. data/test/test_lorem_kr.rb +2 -2
  561. data/test/test_lorem_pl.rb +2 -3
  562. data/test/test_lorem_ru.rb +3 -4
  563. data/test/test_lorem_ua.rb +4 -4
  564. data/test/test_module_utils.rb +35 -2
  565. data/test/test_movie.rb +2 -2
  566. data/test/test_music.rb +6 -6
  567. data/test/test_name.rb +7 -3
  568. data/test/test_name_ar.rb +1 -2
  569. data/test/test_name_br.rb +2 -2
  570. data/test/test_name_cn.rb +2 -2
  571. data/test/test_name_cs.rb +3 -4
  572. data/test/test_name_da.rb +5 -5
  573. data/test/test_name_de.rb +2 -2
  574. data/test/test_name_es.rb +1 -2
  575. data/test/test_name_fr.rb +2 -3
  576. data/test/test_name_ga.rb +2 -2
  577. data/test/test_name_gr.rb +2 -2
  578. data/test/test_name_id.rb +1 -2
  579. data/test/test_name_it.rb +2 -3
  580. data/test/test_name_ja.rb +2 -2
  581. data/test/test_name_kh.rb +10 -8
  582. data/test/test_name_kr.rb +2 -2
  583. data/test/test_name_mx.rb +2 -3
  584. data/test/test_name_nb.rb +2 -2
  585. data/test/test_name_nl.rb +2 -2
  586. data/test/test_name_ph.rb +2 -2
  587. data/test/test_name_pl.rb +1 -2
  588. data/test/test_name_ru.rb +38 -48
  589. data/test/test_name_se.rb +2 -2
  590. data/test/test_name_sn.rb +2 -3
  591. data/test/test_name_th.rb +2 -2
  592. data/test/test_name_th_en.rb +2 -2
  593. data/test/test_name_tw.rb +28 -0
  594. data/test/test_name_ua.rb +3 -3
  595. data/test/test_name_vn.rb +2 -2
  596. data/test/test_nato_alphabet.rb +2 -2
  597. data/test/test_number.rb +57 -0
  598. data/test/test_phone_number.rb +3 -3
  599. data/test/test_phone_number_au.rb +5 -6
  600. data/test/test_phone_number_br.rb +12 -5
  601. data/test/test_phone_number_cu.rb +5 -12
  602. data/test/test_phone_number_da.rb +2 -3
  603. data/test/test_phone_number_de.rb +2 -3
  604. data/test/test_phone_number_fr.rb +1 -2
  605. data/test/test_phone_number_id.rb +1 -2
  606. data/test/test_phone_number_it.rb +12 -0
  607. data/test/test_phone_number_ja.rb +63 -0
  608. data/test/test_phone_number_kr.rb +2 -2
  609. data/test/test_phone_number_mx.rb +2 -3
  610. data/test/test_phone_number_nl.rb +3 -4
  611. data/test/test_phone_number_pl.rb +56 -0
  612. data/test/test_phone_number_ru.rb +76 -0
  613. data/test/test_phone_number_se.rb +4 -4
  614. data/test/test_phone_number_sg.rb +10 -10
  615. data/test/test_phone_number_sn.rb +4 -5
  616. data/test/test_phone_number_tw.rb +42 -0
  617. data/test/test_phone_number_ua.rb +38 -0
  618. data/test/test_products.rb +2 -2
  619. data/test/test_sem_ver.rb +18 -0
  620. data/test/test_skill.rb +2 -2
  621. data/test/test_sport_pl.rb +30 -0
  622. data/test/test_sport_ru.rb +30 -0
  623. data/test/test_sport_us.rb +17 -0
  624. data/test/test_sports.rb +2 -2
  625. data/test/test_ssn.rb +2 -2
  626. data/test/test_ssn_mx.rb +2 -3
  627. data/test/test_ssn_se.rb +10 -12
  628. data/test/test_string.rb +8 -8
  629. data/test/test_time.rb +14 -8
  630. data/test/test_tweet.rb +11 -11
  631. data/test/test_unique_utils.rb +31 -7
  632. data/test/test_units.rb +9 -9
  633. data/test/test_units_english.rb +17 -18
  634. data/test/test_units_metric.rb +17 -18
  635. data/test/test_vehicle.rb +32 -5
  636. data/test/test_venue.rb +2 -2
  637. data/test/test_youtube.rb +2 -2
  638. metadata +211 -198
  639. data/lib/ffaker/data/address_jp/city +0 -127
  640. data/lib/ffaker/data/address_jp/designated_city +0 -20
  641. data/lib/ffaker/data/address_jp/street +0 -37
  642. data/lib/ffaker/data/address_jp/tokyo_ward +0 -23
  643. data/lib/ffaker/data/address_jp/village +0 -183
  644. data/lib/ffaker/data/address_jp/ward +0 -188
@@ -1,6 +1,4 @@
1
- # encoding: utf-8
2
-
3
- require 'ffaker/name'
1
+ # frozen_string_literal: true
4
2
 
5
3
  module FFaker
6
4
  module NameCS
@@ -10,12 +8,12 @@ module FFaker
10
8
  extend self
11
9
 
12
10
  FIRST_NAMES = {
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
- 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]
11
+ female: FEMALE_FIRST_NAMES,
12
+ male: MALE_FIRST_NAMES
15
13
  }.freeze
16
14
  LAST_NAMES = {
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
- 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ší]
15
+ female: FEMALE_LAST_NAMES,
16
+ male: MALE_LAST_NAMES
19
17
  }.freeze
20
18
  SUFFIXES = %w[Ph.D. Th.D. DSc.].freeze
21
19
  GENDERS = %i[male female random].freeze # :nodoc:
@@ -81,8 +79,8 @@ module FFaker
81
79
  def select_sex(sex) # :nodoc:
82
80
  @fixed_sex ||= nil
83
81
  given_sex = @fixed_sex || sex
84
- raise ArgumentError, "Unknown sex #{given_sex}" \
85
- unless GENDERS.include?(given_sex)
82
+ raise ArgumentError, "Unknown sex #{given_sex}" unless GENDERS.include?(given_sex)
83
+
86
84
  given_sex == :random ? GENDERS[rand(0..1)] : given_sex
87
85
  end
88
86
  end
@@ -1,6 +1,4 @@
1
- # encoding: utf-8
2
-
3
- require 'ffaker/name'
1
+ # frozen_string_literal: true
4
2
 
5
3
  module FFaker
6
4
  module NameDA
@@ -29,7 +27,7 @@ module FFaker
29
27
 
30
28
  def first_name(gender = :any)
31
29
  case gender
32
- when :any then rand(0..1) == 0 ? first_name(:male) : first_name(:female)
30
+ when :any then rand(0..1).zero? ? first_name(:male) : first_name(:female)
33
31
  when :male then fetch_sample(MALE_FIRST_NAMES)
34
32
  when :female then fetch_sample(FEMALE_FIRST_NAMES)
35
33
  else
@@ -1,6 +1,4 @@
1
- # encoding: utf-8
2
-
3
- require 'ffaker/name'
1
+ # frozen_string_literal: true
4
2
 
5
3
  module FFaker
6
4
  module NameDE
@@ -1,8 +1,6 @@
1
- # encoding: UTF-8
2
1
  # frozen_string_literal: true
3
2
 
4
3
  module FFaker
5
- # Author github.com/rgcamus
6
4
  module NameES
7
5
  extend ModuleUtils
8
6
 
@@ -1,7 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
- # Author PapePathe<pathe.sene@gmail.com> github.com/PapePathe
5
4
  # The names & first names in this module were found at this url
6
5
  # https://github.com/fzaninotto/Faker/blob/master/src/Faker/Provider/fr_FR/Person.php
7
6
  module NameFR
@@ -26,9 +25,10 @@ module FFaker
26
25
 
27
26
  def name
28
27
  case rand(0..9)
29
- when 7 then "#{first_name} #{prefix} #{last_name}"
30
- when 5 then "#{first_name} #{prefix} #{last_name}"
31
- else "#{first_name} #{last_name}"
28
+ when 5, 7
29
+ "#{first_name} #{prefix} #{last_name}"
30
+ else
31
+ "#{first_name} #{last_name}"
32
32
  end
33
33
  end
34
34
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  # Generates names from Gambia West Africa
@@ -1,7 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
- # Author AntonyFalegkos<falegk1@gmail.com> github.com/falegk
5
4
  module NameGR
6
5
  extend ModuleUtils
7
6
  extend self
@@ -9,7 +8,7 @@ module FFaker
9
8
  # Random full name (male or female). Arguments :male, :female, :any
10
9
  def full_name(gender = :any)
11
10
  case gender
12
- when :any then rand(0..1) == 0 ? male_full_name : female_full_name
11
+ when :any then rand(0..1).zero? ? male_full_name : female_full_name
13
12
  when :male then male_full_name
14
13
  when :female then female_full_name
15
14
  else raise ArgumentError, 'Invalid gender, must be one of :any, :male, :female'
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  module FFaker
5
4
  module NameID
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ # Generates names from India
5
+ # Source: https://www.momjunction.com/articles/popular-indian-last-names-for-your-baby_00334734/#gref
6
+ # Source: https://www.babycenter.in/a25024464/top-100-boy-names-in-india-in-2017
7
+ # Source: https://www.babycenter.in/a25024466/top-100-girl-names-in-india-in-2017
8
+ module NameIN
9
+ extend ModuleUtils
10
+ extend self
11
+
12
+ def first_name_female
13
+ fetch_sample(FIRST_NAMES_FEMALE)
14
+ end
15
+
16
+ def first_name_male
17
+ fetch_sample(FIRST_NAMES_MALE)
18
+ end
19
+
20
+ def last_name
21
+ fetch_sample(LAST_NAMES)
22
+ end
23
+
24
+ def name_male
25
+ "#{first_name_male} #{last_name}"
26
+ end
27
+
28
+ def name_female
29
+ "#{first_name_female} #{last_name}"
30
+ end
31
+
32
+ def name
33
+ case rand(0..1)
34
+ when 1 then name_male
35
+ else name_female
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,7 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
- # Author microspino<info@microspino.com> github.com/microspino
5
4
  module NameIT
6
5
  extend ModuleUtils
7
6
  extend self
@@ -25,7 +24,7 @@ module FFaker
25
24
  def name
26
25
  case rand(0..9)
27
26
  when 5, 7 then "#{prefix} #{first_name} #{last_name}"
28
- else "#{first_name} #{last_name}"
27
+ else "#{first_name} #{last_name}"
29
28
  end
30
29
  end
31
30
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module NameJA
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FFaker
2
4
  module NameKH
3
5
  extend ModuleUtils
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module NameKR
@@ -1,6 +1,4 @@
1
- # encoding: utf-8
2
-
3
- require 'ffaker/name'
1
+ # frozen_string_literal: true
4
2
 
5
3
  module FFaker
6
4
  # guapolo github.com/guapolo
@@ -26,7 +24,7 @@ module FFaker
26
24
  # Full name with prefix according to gender, possibly with middle_name
27
25
  def full_name_prefix(gender = :any)
28
26
  case gender
29
- when :any then
27
+ when :any
30
28
  case rand(0..8)
31
29
  when 0, 3, 6, 8 then "#{female_prefix} #{female_name} #{paternal_last_names}"
32
30
  else "#{male_prefix} #{male_name} #{paternal_last_names}"
@@ -40,7 +38,7 @@ module FFaker
40
38
  # Full name with no prefix according to gender, possibly with middle_name
41
39
  def full_name_no_prefix(gender = :any)
42
40
  case gender
43
- when :any then
41
+ when :any
44
42
  case rand(0..8)
45
43
  when 0, 3, 6, 8 then "#{female_name} #{paternal_last_names}"
46
44
  else "#{male_name} #{paternal_last_names}"
@@ -70,7 +68,7 @@ module FFaker
70
68
  # A single name according to gender parameter
71
69
  def name(gender = :any)
72
70
  case gender
73
- when :any then rand(0..1) == 0 ? name(:male) : name(:female)
71
+ when :any then rand(0..1).zero? ? name(:male) : name(:female)
74
72
  when :male then fetch_sample(MALE_FIRST_NAMES)
75
73
  when :female then fetch_sample(FEMALE_FIRST_NAMES)
76
74
  else raise ArgumentError, 'Invalid gender, must be one of :any, :male, :female'
@@ -1,6 +1,4 @@
1
- # encoding: utf-8
2
-
3
- require 'ffaker/name'
1
+ # frozen_string_literal: true
4
2
 
5
3
  module FFaker
6
4
  module NameNB
@@ -1,6 +1,4 @@
1
- # encoding: utf-8
2
-
3
- require 'ffaker/name'
1
+ # frozen_string_literal: true
4
2
 
5
3
  module FFaker
6
4
  module NameNL
@@ -1,6 +1,4 @@
1
- # encoding: utf-8
2
-
3
- require 'ffaker/name'
1
+ # frozen_string_literal: true
4
2
 
5
3
  module FFaker
6
4
  # Philippine names based on http://en.wikipedia.org/wiki/Philippine_name
@@ -1,8 +1,6 @@
1
- # encoding: UTF-8
2
1
  # frozen_string_literal: true
3
2
 
4
3
  module FFaker
5
- # Author Walerian Sobczak <walerian.sobczak@gmail.com> github.com/walerian777
6
4
  # Inspirations:
7
5
  # https://pl.wiktionary.org/wiki/Indeks:Polski_-_Imiona
8
6
  # https://pl.wiktionary.org/wiki/Kategoria:Polskie_nazwiska_m%C4%99skie
@@ -13,7 +11,7 @@ module FFaker
13
11
  GENDERS = %i[random female male].freeze
14
12
  MALE_PREFIXES = %w[Pan].freeze
15
13
  FEMALE_PREFIXES = %w[Pani].freeze
16
- ACADEMIC_DEGREE_PREFIXES = %w[lic. inż. mgr mgr\ inż. dr dr\ hab. prof.].freeze
14
+ ACADEMIC_DEGREE_PREFIXES = ['lic.', 'inż.', 'mgr', 'mgr inż.', 'dr', 'dr hab.', 'prof.'].freeze
17
15
  PREFIXES = (MALE_PREFIXES + FEMALE_PREFIXES + ACADEMIC_DEGREE_PREFIXES).freeze
18
16
 
19
17
  # Generates a random full name for a given gender (random by default).
@@ -93,6 +91,7 @@ module FFaker
93
91
  def name_for_gender(name_type, gender) # :nodoc:
94
92
  raise(ArgumentError, "Gender must be one of: #{GENDERS}") unless GENDERS.include?(gender)
95
93
  return send("#{gender}_#{name_type}") unless gender == :random
94
+
96
95
  fetch_sample([send("female_#{name_type}"), send("male_#{name_type}")])
97
96
  end
98
97
  end
@@ -1,94 +1,55 @@
1
- # encoding: utf-8
2
-
3
- require 'ffaker/name'
1
+ # frozen_string_literal: true
4
2
 
5
3
  module FFaker
6
4
  module NameRU
7
- include FFaker::Name
8
-
9
5
  extend ModuleUtils
10
6
  extend self
11
7
 
12
- # Last names grammar
13
- LAST_NAMES = {
14
- male: %w[Абарун Абишев Авсюк Агаянц Адрющенков Азаркович Айзатуллов Акуненков Алабян Алвердашвили Алегин Александрович Андоловский Андрушко Анзимиров Анисимович Анпилов Аредьев Арихин Артыкнаев Артюнов Асикайнен Ахагинский Ахмедзянов Ахундзянов Ачамович Аширметов Багникян Бадашков Баздорев Базяев Балабанцев Балдихин Барчунов Бахалдин Бахонов Бачко Безин Беккерман Белоусов Бельцев Берберян Бернштейн Бессалов Биневич Бирюченко Битлер Благородов Блазнин Бойко Бордовкин Борисов Борсаков Браговский Бретнев Бричко Брыжахин Буженков Буртняк Бучников Ваиренко Васющенков Вердиянин Вирютин Воликов Волнаков Втонов Выдрич Выпирайлов Гайдашев Галабцев Ганецкий Гарбко Гарьковец Гасымов Гбидеров Гваськов Георгадзе Геркин Герливанов Гидаспов Гилюк Гладырин Глудман Глуздак Голанджан Головашеч Голынков Голяновский Гостюшин Гревизирский Грибоедов Гридасов Грустнев Губенский Гудолевич Давлетинин Денежко Джиджаев Дзеярский Долганов Долганюк Долгарев Дробуш Дружиненко Дружинкин Дымонт Дышев Евгенев Елепский Енанешников Еременко Ефимовцев Жеребченко Жутаев Забарный Загуменников Зарубенко Засенко Зашбахидзе Зворыкин Зиманенков Зубоедов Иванкович Иванковский Иванов Ивлюшин Избищев Кавин Казинец Калацкий Калуженко Камгатных Камзин Каракулян Карапай Карнацкий Карнеичев Карпышев Картманов Карцевадзе Кафтаев Кафтан Квалиашвили Квашихин Кендалиев Кирилко Климкевич Климнюк Ключенович Кобидзе Колюковский Коргутов Корленко Корлов Коробцов Коротько Корсов Кособок Коювский Крутилин Крышко Куварихин Кузьмин Купецкий Куприн Купцин Купырин Кустарников Кутиев Кухтов Кушнырь Кылосов Лабушкин Лагутаев Лагуткин Лапатиев Ларенцев Латьенов Лашевич Летшов Лечбинский Лизлов Лиштван Ловчев Ломашевич Лопонос Лотев Луговенко Ляховенко Магаметшапиев Майоров Маконько Малишевский Мамычкин Манукиан Маракшаев Марудин Марульский Маслов Матиас Матьязов Матюшкин Машурик Медведев Медвежинский Медянский Мелюшкин Мендусов Меринсон Милославов Мирошничев Мирсианов Митракович Михайлов Михитарян Михлин Мильцын Мицин Можелев Мокроус Мольвинских Монин Морадудин Моренов Мугрузин Мухаматкуров Мухляев Муюнин Наххомов Невкин Нежальский Немченинов Никоноркин Ободкин Огуркис Одокий Озепов Оковаиков Олышев Олянюк Оршаковский Остроухих Ошков Паникин Панкрушкин Паперко Пахолюк Петров Перевезев Перчуков Пидоренко Пилинский Пилищек Пипачук Пистоленко Плосконовов Подлесов Подорожний Покорчак Поладашвили Поликанин Померанцев Понченко Поскокухин Прутян Пунтиков Пусташев Пяртель Разночинцев Раслеков Рахленко Рахматуллин Ребекин Ревельский Редозубов Решетнев Римач Ройзнер Романов Рубель Руховец Сагоманян Садосюк Салошенко Сальккев Самоделко Сейсенбаев Сейтбаталов Селиончик Селуков Селюненок Семченков Серебрюхов Сидоров Скалецкий Скиженюк Скоробацкий Скрынько Слабчук Слежиков Смолянов Сморгунов Смутко Соколецкий Солонюк Старжин Страсс Стрекосов Струсов Студитских Суровкин Сченснович Сытясков Табалов Табахьян Таболов Тажвицкий Такиди Таротько Таутов Твердислов Тишайкин Ткачман Толманов Томинов Тонетов Тончиенко Топорников Торгоев Требунских Трилешинский Тряпичников Турзин Туровник Тутаров Тутейкин Тчанников Тяпко Уалентов Убкосмачев Удобников Усамединов Устилко Устькачинцев Ушахин Фалушкин Фараонов Фарбовский Фаридун Филатиков Фимошин Французов Фумич Хайтов Ханадьян Ханыгин Харехин Харламович Хволес Хитайленко Хлопонин Ходокович Хорохорин Хотунцов Цебаньков Цейнер Цепюк Чакириди Чебышов Челокян Чингузов Чипурных Чокашвили Чугров Чудных Чудоров Чумин Шабалдин Шаблин Шавердьян Шаленок Шарыпов Шеварев Шеняк Шестоперстов Шипенко Шиповсков Шкарев Шмырков Штенников Штиков Щепоков Щепотько Щептев Эдилов Элашвили Этерман Эчин Юрнев Яиченко Якишин Янович],
15
- female: %w[Абашникова Авекирова Агапчева Агенкова Агиева Айварова Айнутдинова Алежетдинова Алейкберова Алекперова Алимзанова Альбеева Альпатцева Андреева Аникинина Аниковская Анучкина Арисанова Арлачева Арлушкина Архангелова Астраханкина Афелова Ахилова Ачаповская Бабайцева Бабракова Байдарова Балаганина Балаганова Балдынова Баловинова Балышкина Барановская Баргугова Бардебанова Барьзева Батраева Бахшнева Бейзерова Бекмементьева Белдина Белункова Беляськова Бесова Бессчетнова Благодирова Блоха Блющицина Бобурова Богинина Болсова Бородина Босторина Брынцалова Брысковская Бубикова Бузулицкая Букаринова Булинова Бутонина Буханцова Бушевская Бушкетова Валиновская Вахрова Вахтеева Вейдова Великонская Великоруссова Венидиктова Венскова Вергилесова Верютина Ветродуева Видишева Войцеховская Волочаева Воронихина Воронянская Ворсобина Вострячкова Всеволодовская Выходова Галочкина Гарылева Гедгафова Герлова Глубокова Голованева Голодовая Голумбокова Гончаровская Гоньшева Городянская Горченкова Готавская Грабильникова Грацилева Грешищева Грешнякова Гржимальская Гузаева Гулипова Гульбинская Дашкова Деваева Декабрева Додырева Дочевская Дояматова Дубковская Думинская Дурдыева Евдашкина Евстиженкова Евтина Едомская Елецкая Елешенкова Епутаева Железная Жестякова Жилкова Забиралова Завершиева Загустина Закомоядина Закоурцева Залозная Заломаева Замарина Зановская Занцинская Занючковская Звездочкина Звержинская Зиядтдинова Зущина Иванова Ивашкива Иволга Иголкина Иднатуллина Икеряева Инелеева Иренкова Исраилова Иусова Ишинкина Кабичева Кавизина Каипова Калиновская Калинушкина Каменцева Камозина Камышкина Каннина Канькова Караульщикова Карачевская Карнилина Карпежникова Карягина Кашарова Кирилычева Кирюшенкова Клабукова Кобзина Коверенская Ковткова Когорева Козюрина Колотыркина Колушкина Комзелева Комзнкова Комитуркина Комкина Кориневская Корнюкина Корпушева Косарская Косьминина Котичева Котусева Кохтарева Кравская Кудряванова Кужненкова Куковицкая Кулакина Куличенкова Кунижева Куранчева Курепова Курлнская Курнашова Курнекова Курносенкова Курсантова Кусалова Кусачева Кутубаева Кучминская Лазова Ланятина Лашова Левенцова Лейзбовская Лепатецкая Летунова Лиходумова Локтеева Локутанская Лутавина Лушева Лынская Мазовская Малисова Малихникова Малкершина Малунеева Мамушина Манишева Манновеева Маносипова Манусова Манцырева Маразова Мардарейкина Мардулатова Маримпольская Марфутова Марьичева Матиросова Мелышкова Ментусова Мефодиева Мехидева Мизюнская Микотина Микряева Милородова Мимитаева Минхазова Мирошихина Миссуловина Михайликова Миханошина Мишалина Мораева Морозовская Моссаковская Мышова Нагановская Назмиева Невская Негодаева Нелюбова Нижегородова Ноздреватова Обминская Ольштинская Ончурова Отрочева Охматовская Павпычева Паксиватова Паленычева Паницкая Паршкина Пастушкина Перевышина Перелазная Пигулова Пилипова Пирогова Плуталовская Побаруева Побеглая Погребашкина Подсадная Поленцова Полонская Польская Помутова Помыкина Портянкина Потакина Прибытскова Прошутинская Пруцкова Птумкина Пулькова Пупырникова Пырьева Рагицкая Радомская Расшивалова Рахманькова Раченская Редюшова Ретюхина Родионочева Розинькова Ротаенова Рощупкина Руженцова Рыжеукова Рябышева Саадуева Савраскина Сайгашкина Салиханова Саманкина Самолюбова Саморохова Свитушкина Северякова Сейтбаева Семидумова Сергушева Сеуткина Сивилькаева Симнова Синаборская Скарина Скирдина Смешанова Смотраева Снегова Соткина Спирькова Спифанова Сумовская Сухаручкина Талалуева Талпыкина Таратученкова Тарачакова Тахторова Тенцова Тенькова Терентьева Техтина Тимокова Тихановская Товкуева Тогобицкая Толстикова Торгашева Торченкова Трубинкова Тугаринова Тулаева Турбатова Турлакова Туфанова Тюлева Тюликова Тютюнова Тюцкая Тюшина Ульданова Фаворская Фанасова Фаркова Фатищева Фатнева Филихина Фильштинская Фогенкова Фонанова Фругина Хабайлова Холмогорова Хамбикова Харламкина Хваловская Хлямова Хрусткова Цатурова Цивкина Цымбаева Чабаева Чебиева Чегрова Челейкина Чельднева Ченурина Черноиванова Чертова Черторыгина Четверткова Чигирижская Чичеткина Чичиркоза Чучкина Шадилова Шанина Шановая Шапатина Шаюнова Шаяхметова Шебакина Шедрина Шечковская Шикалева Шишаева Шишкова Шияновская Шпикова Шувашова Шуганикова Шумакова Шумялева Шумятьева Щепеникова Щиконикова Якиманская Яночкина]
16
- }.freeze
8
+ FIRST_NAMES = FIRST_NAMES_MALE + FIRST_NAMES_FEMALE
9
+ LAST_NAMES = LAST_NAMES_MALE + LAST_NAMES_FEMALE
17
10
 
18
- # First names grammar
19
- FIRST_NAMES = {
20
- male: %w[Абрам Август Адольф Аким Александр Алексей Альберт Альфред Анатолий Андрей Антон Аристарх Аркадий Арнольд Арсен Артем Артемий Артур Аскольд Афанасий Ахмет Бенедикт Богдан Болеслав Борис Борислав Бронислав Вадим Валентин Валерий Василий Венедикт Вениамин Виктор Вильгельм Виталий Владимир Владислав Всеволод Вячеслав Гавриил Геннадий Генрих Георгий Герасим Герман Глеб Григорий Давыд Даниил Демид Денис Дмитрий Евгений Евдоким Егор Емельян Ермолай Ефим Жорж Захар Зиновий Ибрагим Иван Игорь Илларион Илья Иннокентий Иосиф Ираклий Карл Кирилл Константин Кузьма Лазарь Лев Леонид Леонтий Макар Максим Максимилиан Марат Марк Матвей Мирослав Михаил Модест Мурат Никита Николай Олег Осип Оскар Павел Петр Прохор Ринат Родион Ролан Роман Ростислав Рудольф Руслан Рустам Савва Святослав Севастьян Семен Сергей Спартак Станислав Степан Тарас Терентий Тимофей Тимур Федор Феликс Филипп Эдуард Эльдар Эммануил Эрик Эрнест Юлиан Юрий Яков Ян Ярослав],
21
- female: %w[Аврора Агнесса Агния Алевтина Александра Алёна Алина Алиса Алла Альбина Амелия Анастасия Ангелина Анжела Анна Антонина Анфиса Арина Ася Белла Берта Борислава Бронислава Валентина Валерия Ванда Варвара Василиса Венера Вера Вероника Виктория Виолетта Владислава Галина Генриетта Георгина Глафира Дана Даниэла Дарина Дарья Диана Дина Динара Доминика Ева Евгения Евдокия Екатерина Елена Елизавета Жанна Земфира Зинаида Злата Зоя Изабелла Изольда Инга Инесса Инна Ираида Ирина Ирма Ия Калерия Камилла Карина Каролина Кира Клавдия Клара Кристина Ксения Лада Лариса Леся Лидия Лилия Лина Лия Любовь Людмила Майя Маргарита Марианна Марина Мария Марта Марьяна Милена Моника Надежда Наталья Ника Нина Нонна Оксана Олеся Ольга Полина Рада Раиса Регина Рената Роза Роксана Руслана Сабина Светлана Сильва Снежана Софья Станислава Стелла Таисия Тамара Татьяна Тереза Ульяна Фаина Эдита Элла Эльвира Эльза Юлия Яна Ярослава]
22
- }.freeze
11
+ def name
12
+ rand(0..1).zero? ? female_name : male_name
13
+ end
23
14
 
24
- # Patronymics grammar
25
- PATRONYMICS = {
26
- male: %w[Абрамович Августович Авдеевич Адамович Адольфович Адрианович Акимович Александрович Алексеевич Альбертович Альфредович Анатольевич Андреевич Антонович Ануфриевич Арамович Ариевич Аристархович Аркадиевич Арнольдович Аронович Арсенович Артемович Артемиевич Артурович Аскольдович Афанасиевич Ахметович Ашотович Бенедиктович Бернарович Богданович Болеславович Бонифациевич Борисович Бориславович Брониславович Вадимович Валентинович Валерьевич Вальтерович Васильевич Велорович Венедиктович Вениаминович Викторович Вильгельмович Виссарионович Витальевич Владимирович Владиславович Вольдемарович Всеволодович Вячеславович Гавриилович Геннадьевич Генрихович Георгиевич Геральдович Герасимович Германович Глебович Гордеевич Градимирович Григорьевич Гурьевич Давыдович Даниилович Демидович Демьянович Денисович Дмитриевич Донатович Дорофеевич Евгеньевич Евдокимович Евстафьевич Егорович Елисеевич Емельянович Ермолаевич Ерофеевич Ефимович Ефремович Захарович Зигмундович Зиновьевич Ибрагимович Иванович Игнатович Игоревич Измаилович Израилевич Илларионович Иннокентиевич Ионович Иосифович Ираклиевич Исаевич Казимирович Каренович Карлович Кириллович Клавдиевич Клементович Климович Кондратович Конкордиевич Константинович Лазариевич Львович Леванович Леонардович Леонидович Леонтьевич Леопольдович Любомирович Людвигович Макарович Максимович Максимилианович Маратович Марианович Маркович Мартинович Матвеевич Мерабович Мечеславович Миронович Мирославович Михайлович Модестович Моисеевич Муратович Назарович Натанович Наумович Никитич Никифорович Николаевич Никонович Нисонович Нифонтович Олегович Онисимович Орестович Осипович Оскарович Павлович Парамонович Петрович Платонович Прохорович Рафикович Рашидович Ринатович Ричардович Робертович Родионович Роланович Романович Ростиславович Рубенович Рудольфович Русланович Рустамович Самсонович Святославович Севастьянович Семенович Серафимович Сергеевич Соломонович Спартакович Станиславович Степанович Стоянович Тамазович Тарасович Теодорович Терентьевич Тигранович Тимофеевич Тимурович Титович Тихонович Трифонович Трофимович Устинович Федорович Феликсович Феодосьевич Филимонович Филиппович Фридрихович Харитонович Христианович Христофорович Эдуардович Эльдарович Эмилевич Эммануилович Эрикович Эрнестович Юлианович Юрьевич Якимович Янович Ярославович],
27
- female: %w[Абрамовна Августовна Авдеевна Адамовна Адольфовна Адриановна Акимовна Александровна Алексеевна Альбертовна Альфредовна Анатольевна Андреевна Антоновна Ануфриевна Арамовна Ариевна Аристарховна Аркадиевна Арнольдовна Ароновна Арсеновна Артемовна Артемьевна Артуровна Аскольдовна Афанасьевна Ахметовна Ашотовна Бенедиктовна Бернаровна Богдановна Болеславовна Бонифациевна Борисовна Бориславовна Брониславовна Вадимовна Валентиновна Валерьевна Вальтеровна Васильевна Велоровна Венедиктовна Вениаминовна Викторовна Вильгельмовна Виссарионовна Витальевна Владимировна Владиславовна Вольдемаровна Всеволодовна Вячеславовна Гаврииловна Геннадьевна Генриховна Георгиевна Геральдовна Герасимовна Германовна Глебовна Гордеевна Градимировна Григорьевна Гурьевна Давыдовна Данииловна Демидовна Демьяновна Денисовна Дмитриевна Донатовна Дорофеевна Евгеньевна Евдокимовна Евстафьевна Егоровна Елисеевна Емельяновна Ермолаевна Ерофеевна Ефимовна Ефремовна Захаровна Зигмундовна Зиновьевна Ибрагимовна Ивановна Игнатовна Игоревна Измаиловна Израилевна Илларионовна Иннокентиевна Ионовна Иосифовна Ираклиевна Исаевна Казимировна Кареновна Карловна Кирилловна Клавдиевна Клементовна Климовна Кондратьевна Конкордиевна Константиновна Лазарьевна Львовна Левановна Леонардовна Леонидовна Леонтьевна Леопольдовна Любомировна Людвиговна Макаровна Максимовна Максимилиановна Маратовна Мариановна Марковна Мартиновна Матвеевна Мерабовна Мечеславовна Мироновна Мирославовна Михайловна Модестовна Моисеевна Муратовна Назаровна Натановна Наумовна Никитична Никифоровна Николаевна Никоновна Нисоновна Нифонтовна Олеговна Онисимовна Орестовна Осиповна Оскаровна Павловна Парамоновна Петровна Платоновна Прохоровна Рафиковна Рашидовна Ринатовна Ричардовна Робертовна Родионовна Ролановна Романовна Ростиславовна Рубеновна Рудольфовна Руслановна Рустамовна Самсоновна Святославовна Севастьяновна Семеновна Серафимовна Сергеевна Соломоновна Спартаковна Станиславовна Степановна Стояновна Тамазовна Тарасовна Теодоровна Терентьевна Тиграновна Тимофеевна Тимуровна Титовна Тихоновна Трифоновна Трофимовна Устиновна Федоровна Феликсовна Феодосьевна Филимоновна Филипповна Фридриховна Харитоновна Христиановна Христофоровна Эдуардовна Эльдаровна Эмилевна Эммануиловна Эриковна Эрнестовна Юлиановна Юрьевна Якимовна Яновна Ярославовна]
28
- }.freeze
29
- GENDERS = %i[male female random].freeze # :nodoc:
15
+ def first_name
16
+ fetch_sample(FIRST_NAMES)
17
+ end
30
18
 
31
- # All names generated inside the block will have the same sex.
32
- # Can be called with explicit sex which will affect
33
- # all calls inside thee block:
34
- #
35
- # FFaker::NameRU.with_same_sex(:male) do
36
- # person.last_name = FFaker::NameRU.last_name
37
- # person.first_name = FFaker::NameRU.first_name
38
- # person.patronymic = FFaker::NameRU.patronymic
39
- # end
40
- #
41
- # person.last_name # => "Иванов"
42
- # person.first_name # => "Александр"
43
- # person.patronymic # => "Петрович"
44
- def with_same_sex(sex = :random)
45
- @fixed_sex = sex == :random ? GENDERS[rand(0..1)] : sex
46
- yield
47
- ensure
48
- @fixed_sex = nil
19
+ def last_name
20
+ fetch_sample(LAST_NAMES)
49
21
  end
50
22
 
51
- # Generates random full name which can contain patronymic
52
- # Can be called with explicit sex (:male, :female), like:
53
- #
54
- # FFaker::NameRU.name(:male)
55
- #
56
- # for_sex defaults to :random.
57
- def name(for_sex = :random)
58
- with_same_sex(for_sex) do
59
- case rand(0..1)
60
- when 0 then "#{last_name} #{first_name} #{patronymic}"
61
- else "#{first_name} #{last_name}"
62
- end
63
- end
23
+ def female_name
24
+ "#{first_name_female} #{last_name_female}"
64
25
  end
65
26
 
66
- # Generates random last name
67
- # for_sex can be :male, :female. Defaults to :random
68
- def last_name(for_sex = :random)
69
- fetch_sample(LAST_NAMES[select_sex(for_sex)])
27
+ def male_name
28
+ "#{first_name_male} #{last_name_male}"
70
29
  end
71
30
 
72
- # Generates random first name
73
- # for_sex can be :male, :female. Defaults to :random
74
- def first_name(for_sex = :random)
75
- fetch_sample(FIRST_NAMES[select_sex(for_sex)])
31
+ def first_name_female
32
+ fetch_sample(FIRST_NAMES_FEMALE)
76
33
  end
77
34
 
78
- # Generates random patronymic
79
- # for_sex can be :male, :female. Defaults to :random
80
- def patronymic(for_sex = :random)
81
- fetch_sample(PATRONYMICS[select_sex(for_sex)])
35
+ def first_name_male
36
+ fetch_sample(FIRST_NAMES_MALE)
82
37
  end
83
38
 
84
- private
39
+ def middle_name_female
40
+ fetch_sample(MIDDLE_NAMES_FEMALE)
41
+ end
42
+
43
+ def middle_name_male
44
+ fetch_sample(MIDDLE_NAMES_MALE)
45
+ end
46
+
47
+ def last_name_female
48
+ fetch_sample(LAST_NAMES_FEMALE)
49
+ end
85
50
 
86
- def select_sex(sex) # :nodoc:
87
- @fixed_sex ||= nil
88
- given_sex = @fixed_sex || sex
89
- raise ArgumentError, "Unknown sex #{given_sex}" \
90
- unless GENDERS.include?(given_sex)
91
- given_sex == :random ? GENDERS[rand(0..1)] : given_sex
51
+ def last_name_male
52
+ fetch_sample(LAST_NAMES_MALE)
92
53
  end
93
54
  end
94
55
  end
@@ -1,6 +1,4 @@
1
- # encoding: utf-8
2
-
3
- require 'ffaker/name'
1
+ # frozen_string_literal: true
4
2
 
5
3
  module FFaker
6
4
  module NameSE
@@ -1,7 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
- # Author PapePathe<pathe.sene@gmail.com> github.com/PapePathe
5
4
  # The names & first names in this module were found at this url:
6
5
  # http://www.senegalaisement.com/senegal/noms_et_prenoms.html
7
6
  module NameSN
@@ -49,10 +48,8 @@ module FFaker
49
48
  case rand(0..5)
50
49
  when 0 then "#{prefix_female} #{first_name_female} #{last_name}"
51
50
  when 1 then "#{prefix_male} #{first_name_male} #{last_name}"
52
- when 2 then "#{first_name_male} #{last_name}"
53
- when 3 then "#{first_name_female} #{last_name}"
54
- when 4 then "#{first_name_male} #{last_name}"
55
- else "#{first_name_female} #{last_name}"
51
+ when 2, 4 then "#{first_name_male} #{last_name}"
52
+ when 3, 5 then "#{first_name_female} #{last_name}"
56
53
  end
57
54
  end
58
55
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  # Source: http://www.thai-language.com/
@@ -1,6 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'ffaker/name_th'
3
+ require_relative 'name_th'
4
4
 
5
5
  module FFaker
6
6
  module NameTHEN
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ module NameTW
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def name
9
+ "#{last_name}#{first_name}"
10
+ end
11
+
12
+ def first_name
13
+ fetch_sample(FIRST_NAMES)
14
+ end
15
+
16
+ def last_name
17
+ fetch_sample(LAST_NAMES)
18
+ end
19
+ end
20
+ end
@@ -1,6 +1,4 @@
1
- # encoding: utf-8
2
-
3
- require 'ffaker/name'
1
+ # frozen_string_literal: true
4
2
 
5
3
  module FFaker
6
4
  module NameUA
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module NameVN
@@ -1,13 +1,11 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module NatoAlphabet
5
5
  extend ModuleUtils
6
6
  extend self
7
7
 
8
- ALPHABET_CODES = %w[ALPHA BRAVO CHARLIE DELTA ECHO FOXTROT GOLF HOTEL INDIA JULIETT KILO LIMA MIKE NOVEMBER OSCAR PAPA QUEBEC ROMEO SIERRA TANGO UNIFORM VICTOR WHISKEY XRAY YANKEE ZULU].freeze
9
- NUMERIC_CODES = %w[ONE TWO THREE FOUR FIVE SIX SEVEN EIGHT NINE ZERO].freeze
10
- STOP_CODE = 'STOP'.freeze
8
+ STOP_CODE = 'STOP'
11
9
  CODES = ALPHABET_CODES + NUMERIC_CODES + [STOP_CODE]
12
10
 
13
11
  def code
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ module Number
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def number(digits: 1)
9
+ FFaker.numerify(generate_pattern(digits)).to_i
10
+ end
11
+
12
+ def decimal(whole_digits: 1, fractional_digits: 1)
13
+ whole_part_pattern = generate_pattern(whole_digits)
14
+ fractional_part_pattern = generate_pattern(fractional_digits).reverse
15
+ FFaker.numerify("#{whole_part_pattern}.#{fractional_part_pattern}").to_f
16
+ end
17
+
18
+ def between(from: 1.00, to: 5000.00)
19
+ fetch_sample(from..to)
20
+ end
21
+
22
+ private
23
+
24
+ def generate_pattern(digits)
25
+ raise ArgumentError, 'Digits cannot be less than 1' if digits < 1
26
+
27
+ "#{fetch_sample(1..9)}#{'#' * (digits - 1)}"
28
+ end
29
+ end
30
+ end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module PhoneNumber