ffaker 2.11.0 → 2.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (546) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +35 -0
  3. data/Gemfile +2 -0
  4. data/README.md +8 -1
  5. data/REFERENCE.md +113 -4
  6. data/Rakefile +2 -6
  7. data/ffaker.gemspec +16 -5
  8. data/lib/ffaker.rb +23 -13
  9. data/lib/ffaker/address.rb +3 -3
  10. data/lib/ffaker/address_au.rb +7 -9
  11. data/lib/ffaker/address_br.rb +1 -1
  12. data/lib/ffaker/address_ca.rb +2 -2
  13. data/lib/ffaker/address_ch.rb +1 -1
  14. data/lib/ffaker/address_ch_de.rb +1 -1
  15. data/lib/ffaker/address_ch_fr.rb +1 -1
  16. data/lib/ffaker/address_ch_it.rb +1 -1
  17. data/lib/ffaker/address_da.rb +1 -1
  18. data/lib/ffaker/address_de.rb +1 -1
  19. data/lib/ffaker/address_fi.rb +1 -1
  20. data/lib/ffaker/address_fr.rb +6 -2
  21. data/lib/ffaker/address_gr.rb +1 -1
  22. data/lib/ffaker/address_id.rb +0 -1
  23. data/lib/ffaker/address_in.rb +2 -2
  24. data/lib/ffaker/address_ja.rb +0 -1
  25. data/lib/ffaker/address_kr.rb +0 -1
  26. data/lib/ffaker/address_mx.rb +7 -469
  27. data/lib/ffaker/address_nl.rb +2 -4
  28. data/lib/ffaker/address_pl.rb +0 -2
  29. data/lib/ffaker/address_ru.rb +1 -1
  30. data/lib/ffaker/address_se.rb +1 -1
  31. data/lib/ffaker/address_sn.rb +1 -2
  32. data/lib/ffaker/address_ua.rb +2 -2
  33. data/lib/ffaker/address_uk.rb +1 -1
  34. data/lib/ffaker/address_us.rb +23 -3
  35. data/lib/ffaker/airline.rb +1 -1
  36. data/lib/ffaker/{animals.rb → animal.rb} +1 -1
  37. data/lib/ffaker/{animals_cn.rb → animal_cn.rb} +0 -1
  38. data/lib/ffaker/animal_es.rb +12 -0
  39. data/lib/ffaker/animal_pl.rb +0 -2
  40. data/lib/ffaker/{animals_us.rb → animal_us.rb} +0 -1
  41. data/lib/ffaker/avatar.rb +23 -5
  42. data/lib/ffaker/aws.rb +1 -1
  43. data/lib/ffaker/bacon_ipsum.rb +1 -1
  44. data/lib/ffaker/bank.rb +118 -0
  45. data/lib/ffaker/book.rb +1 -1
  46. data/lib/ffaker/boolean.rb +1 -1
  47. data/lib/ffaker/cheesy_lingo.rb +3 -6
  48. data/lib/ffaker/code.rb +17 -1
  49. data/lib/ffaker/color.rb +7 -7
  50. data/lib/ffaker/color_pl.rb +14 -0
  51. data/lib/ffaker/color_ua.rb +1 -1
  52. data/lib/ffaker/company.rb +1 -1
  53. data/lib/ffaker/company_cn.rb +1 -1
  54. data/lib/ffaker/company_it.rb +4 -2
  55. data/lib/ffaker/company_ja.rb +24 -0
  56. data/lib/ffaker/company_se.rb +1 -1
  57. data/lib/ffaker/conference.rb +1 -1
  58. data/lib/ffaker/courses.rb +1 -1
  59. data/lib/ffaker/currency.rb +1 -1
  60. data/lib/ffaker/data/address/city_suffixes +1 -1
  61. data/lib/ffaker/data/address/country +1 -1
  62. data/lib/ffaker/data/address/country_code +1 -1
  63. data/lib/ffaker/data/address/neighborhood +1 -1
  64. data/lib/ffaker/data/address/street_suffix +1 -1
  65. data/lib/ffaker/data/address_ca/city +99 -99
  66. data/lib/ffaker/data/address_ca/province +1 -1
  67. data/lib/ffaker/data/address_de/city +1 -1
  68. data/lib/ffaker/data/address_de/state +1 -1
  69. data/lib/ffaker/data/address_fr/city +1 -1
  70. data/lib/ffaker/data/address_fr/region +27 -0
  71. data/lib/ffaker/data/address_gr/city +1 -1
  72. data/lib/ffaker/data/address_gr/region +1 -1
  73. data/lib/ffaker/data/address_gr/street +1 -1
  74. data/lib/ffaker/data/address_ja/city +0 -23
  75. data/lib/ffaker/data/address_mx/ags +11 -0
  76. data/lib/ffaker/data/address_mx/bc +5 -0
  77. data/lib/ffaker/data/address_mx/bcs +5 -0
  78. data/lib/ffaker/data/address_mx/camp +11 -0
  79. data/lib/ffaker/data/address_mx/chih +67 -0
  80. data/lib/ffaker/data/address_mx/chis +118 -0
  81. data/lib/ffaker/data/address_mx/coah +38 -0
  82. data/lib/ffaker/data/address_mx/col +10 -0
  83. data/lib/ffaker/data/address_mx/df +16 -0
  84. data/lib/ffaker/data/address_mx/dgo +39 -0
  85. data/lib/ffaker/data/address_mx/gro +81 -0
  86. data/lib/ffaker/data/address_mx/gto +46 -0
  87. data/lib/ffaker/data/address_mx/hgo +84 -0
  88. data/lib/ffaker/data/address_mx/jal +125 -0
  89. data/lib/ffaker/data/address_mx/mex +125 -0
  90. data/lib/ffaker/data/address_mx/mich +113 -0
  91. data/lib/ffaker/data/address_mx/mor +33 -0
  92. data/lib/ffaker/data/address_mx/nay +20 -0
  93. data/lib/ffaker/data/address_mx/nl +51 -0
  94. data/lib/ffaker/data/address_mx/oax +570 -0
  95. data/lib/ffaker/data/address_mx/pue +217 -0
  96. data/lib/ffaker/data/address_mx/qr +10 -0
  97. data/lib/ffaker/data/address_mx/qro +18 -0
  98. data/lib/ffaker/data/address_mx/sin +18 -0
  99. data/lib/ffaker/data/address_mx/slp +58 -0
  100. data/lib/ffaker/data/address_mx/son +72 -0
  101. data/lib/ffaker/data/address_mx/state +1 -1
  102. data/lib/ffaker/data/address_mx/state_abbr +1 -1
  103. data/lib/ffaker/data/address_mx/tab +17 -0
  104. data/lib/ffaker/data/address_mx/tamps +43 -0
  105. data/lib/ffaker/data/address_mx/tlax +60 -0
  106. data/lib/ffaker/data/address_mx/ver +212 -0
  107. data/lib/ffaker/data/address_mx/yuc +106 -0
  108. data/lib/ffaker/data/address_mx/zac +58 -0
  109. data/lib/ffaker/data/address_ru/city +1 -1
  110. data/lib/ffaker/data/address_se/city +1 -1
  111. data/lib/ffaker/data/address_se/countries +1 -1
  112. data/lib/ffaker/data/address_se/street +1 -1
  113. data/lib/ffaker/data/address_sn/arrondissements +1 -1
  114. data/lib/ffaker/data/address_sn/departements +1 -1
  115. data/lib/ffaker/data/address_sn/regions +1 -1
  116. data/lib/ffaker/data/address_uk/county +1 -1
  117. data/lib/ffaker/data/address_us/state +1 -1
  118. data/lib/ffaker/data/address_us/state_abbr +1 -2
  119. data/lib/ffaker/data/address_us/state_and_territories_abbr +1 -1
  120. data/lib/ffaker/data/animal_cn/common_names +1 -1
  121. data/lib/ffaker/data/animal_es/common_names +135 -0
  122. data/lib/ffaker/data/aws/ec2_reserved_instance_tenancy +1 -1
  123. data/lib/ffaker/data/aws/ec2_reserved_offering_type +1 -1
  124. data/lib/ffaker/data/aws/ec2_reserved_product_description +1 -1
  125. data/lib/ffaker/data/bank/card_types +12 -0
  126. data/lib/ffaker/data/book/nouns +2 -2
  127. data/lib/ffaker/data/cheesy_lingo/cheesy_phrases +1 -1
  128. data/lib/ffaker/data/cheesy_lingo/cheesy_words +1 -1
  129. data/lib/ffaker/data/color/names_list +1 -1
  130. data/lib/ffaker/data/color_pl/names_list +122 -0
  131. data/lib/ffaker/data/company/bs_mid +1 -1
  132. data/lib/ffaker/data/company/bs_pos +1 -1
  133. data/lib/ffaker/data/company/bs_pre +1 -1
  134. data/lib/ffaker/data/company/catch_mid +1 -1
  135. data/lib/ffaker/data/company/catch_pos +1 -1
  136. data/lib/ffaker/data/company/catch_pre +1 -1
  137. data/lib/ffaker/data/company/position_areas +1 -1
  138. data/lib/ffaker/data/conference/conference_list +1 -1
  139. data/lib/ffaker/data/currency/currency_code +1 -1
  140. data/lib/ffaker/data/currency/currency_name +1 -1
  141. data/lib/ffaker/data/currency/currency_symbol +0 -1
  142. data/lib/ffaker/data/dizzle_ipsum/dizzle_words +1 -1
  143. data/lib/ffaker/data/education/major_noun +1 -1
  144. data/lib/ffaker/data/education/school_suffix +1 -1
  145. data/lib/ffaker/data/education_cn/city +1 -1
  146. data/lib/ffaker/data/education_cn/major +1 -1
  147. data/lib/ffaker/data/education_cn/province +1 -1
  148. data/lib/ffaker/data/education_cn/school_type +1 -1
  149. data/lib/ffaker/data/food/fruit +1 -1
  150. data/lib/ffaker/data/food/herb_spice +1 -1
  151. data/lib/ffaker/data/food/meat +1 -1
  152. data/lib/ffaker/data/food/vegetable +1 -1
  153. data/lib/ffaker/data/hipster_ipsum/hipster_words +1 -1
  154. data/lib/ffaker/data/identification_mx/estados_curp +1 -1
  155. data/lib/ffaker/data/job/job_adj +1 -1
  156. data/lib/ffaker/data/job/job_noun +1 -1
  157. data/lib/ffaker/data/job/job_prefix +1 -1
  158. data/lib/ffaker/data/job_fr/job_prefixes +1 -1
  159. data/lib/ffaker/data/locale/language +1 -1
  160. data/lib/ffaker/data/locale/language_code +1 -1
  161. data/lib/ffaker/data/lorem/characters +1 -1
  162. data/lib/ffaker/data/lorem/words +1 -1
  163. data/lib/ffaker/data/lorem_ar/words +1 -1
  164. data/lib/ffaker/data/lorem_cn/words +1 -1
  165. data/lib/ffaker/data/lorem_fr/words +1 -1
  166. data/lib/ffaker/data/movie/adj_and_adv +1 -1
  167. data/lib/ffaker/data/movie/nouns +3 -3
  168. data/lib/ffaker/data/movie/prefixes +1 -1
  169. data/lib/ffaker/data/name/first_names_female +0 -230
  170. data/lib/ffaker/data/name/first_names_male +0 -37
  171. data/lib/ffaker/data/name/pronouns +6 -0
  172. data/lib/ffaker/data/name_ar/first_names_female +1 -1
  173. data/lib/ffaker/data/name_ar/first_names_male +1 -1
  174. data/lib/ffaker/data/name_ar/last_names +1 -1
  175. data/lib/ffaker/data/name_cn/first_names +1 -1
  176. data/lib/ffaker/data/name_cn/last_names +1 -1
  177. data/lib/ffaker/data/name_cs/female_first_names +40 -0
  178. data/lib/ffaker/data/name_cs/female_last_names +50 -0
  179. data/lib/ffaker/data/name_cs/male_first_names +88 -0
  180. data/lib/ffaker/data/name_cs/male_last_names +49 -0
  181. data/lib/ffaker/data/name_cs/prefixes +4 -4
  182. data/lib/ffaker/data/name_de/first_names +1 -1
  183. data/lib/ffaker/data/name_de/last_names +1 -1
  184. data/lib/ffaker/data/name_fr/first_names +1 -1
  185. data/lib/ffaker/data/name_fr/last_names +1 -1
  186. data/lib/ffaker/data/name_ga/first_names_female +1 -1
  187. data/lib/ffaker/data/name_ga/first_names_male +1 -1
  188. data/lib/ffaker/data/name_gr/female_first_names +1 -1
  189. data/lib/ffaker/data/name_gr/female_last_names +1 -1
  190. data/lib/ffaker/data/name_gr/male_first_names +1 -1
  191. data/lib/ffaker/data/name_gr/male_last_names +1 -1
  192. data/lib/ffaker/data/name_it/first_names +1 -1
  193. data/lib/ffaker/data/name_it/last_names +1 -1
  194. data/lib/ffaker/data/name_ja/first_names +1 -1
  195. data/lib/ffaker/data/name_ja/last_names +1 -1
  196. data/lib/ffaker/data/name_kh/first_names +1 -1
  197. data/lib/ffaker/data/name_kh/nick_names +1 -1
  198. data/lib/ffaker/data/name_kr/first_names +1 -1
  199. data/lib/ffaker/data/name_kr/last_names +1 -1
  200. data/lib/ffaker/data/name_mx/female_first_names +1 -1
  201. data/lib/ffaker/data/name_mx/last_names +1 -1
  202. data/lib/ffaker/data/name_mx/male_first_names +1 -1
  203. data/lib/ffaker/data/name_ph/autochthonous_surnames +1 -1
  204. data/lib/ffaker/data/name_ph/spanish_surnames +1 -1
  205. data/lib/ffaker/data/name_ru/first_names_male +0 -1
  206. data/lib/ffaker/data/name_se/first_names_female +1 -1
  207. data/lib/ffaker/data/name_se/first_names_male +1 -1
  208. data/lib/ffaker/data/name_se/last_names +1 -1
  209. data/lib/ffaker/data/name_sn/first_names_female +1 -1
  210. data/lib/ffaker/data/name_sn/first_names_male +1 -1
  211. data/lib/ffaker/data/name_sn/last_names +1 -1
  212. data/lib/ffaker/data/name_th/first_names +1 -1
  213. data/lib/ffaker/data/name_th/last_names +1 -1
  214. data/lib/ffaker/data/name_th/nick_names +1 -1
  215. data/lib/ffaker/data/nato_alphabet/alphabet_codes +26 -0
  216. data/lib/ffaker/data/nato_alphabet/numeric_codes +10 -0
  217. data/lib/ffaker/data/phone_number_nl/area_codes +142 -0
  218. data/lib/ffaker/data/phone_number_ru/home_phone_prefixes +107 -0
  219. data/lib/ffaker/data/phone_number_ru/mobile_phone_prefixes +61 -0
  220. data/lib/ffaker/data/phone_number_se/phone_prefix +1 -1
  221. data/lib/ffaker/data/phone_number_ua/home_phone_prefixes +29 -0
  222. data/lib/ffaker/data/phone_number_ua/mobile_phone_prefixes +11 -0
  223. data/lib/ffaker/data/product/adj +1 -1
  224. data/lib/ffaker/data/product/b1 +1 -1
  225. data/lib/ffaker/data/skill/specialty_end +1 -1
  226. data/lib/ffaker/data/skill/specialty_start +1 -1
  227. data/lib/ffaker/data/skill/tech_skills +1 -1
  228. data/lib/ffaker/data/sport_pl/summer +53 -0
  229. data/lib/ffaker/data/sport_pl/winter +14 -0
  230. data/lib/ffaker/data/vehicle/color_prefixes +25 -0
  231. data/lib/ffaker/data/vehicle/displacements_list +1 -1
  232. data/lib/ffaker/data/vehicle/fuel_types_list +1 -1
  233. data/lib/ffaker/data/vehicle/makes_list +1 -1
  234. data/lib/ffaker/data/vehicle/transmissions_list +1 -1
  235. data/lib/ffaker/data/vehicle/upholstery_list +1 -1
  236. data/lib/ffaker/data/venue/venue_list +1 -1
  237. data/lib/ffaker/dizzle_ipsum.rb +1 -1
  238. data/lib/ffaker/education.rb +9 -10
  239. data/lib/ffaker/education_cn.rb +4 -8
  240. data/lib/ffaker/filesystem.rb +1 -1
  241. data/lib/ffaker/food.rb +2 -0
  242. data/lib/ffaker/gender.rb +1 -1
  243. data/lib/ffaker/gender_br.rb +1 -1
  244. data/lib/ffaker/gender_cn.rb +1 -1
  245. data/lib/ffaker/gender_id.rb +0 -1
  246. data/lib/ffaker/gender_ja.rb +18 -0
  247. data/lib/ffaker/gender_jp.rb +2 -12
  248. data/lib/ffaker/gender_kr.rb +1 -1
  249. data/lib/ffaker/gender_pl.rb +0 -2
  250. data/lib/ffaker/geolocation.rb +32 -22
  251. data/lib/ffaker/guid.rb +1 -1
  252. data/lib/ffaker/healthcare_ipsum.rb +1 -1
  253. data/lib/ffaker/healthcare_ru.rb +0 -1
  254. data/lib/ffaker/hipster_ipsum.rb +1 -1
  255. data/lib/ffaker/html_ipsum.rb +3 -3
  256. data/lib/ffaker/identification.rb +5 -2
  257. data/lib/ffaker/identification_br.rb +1 -1
  258. data/lib/ffaker/identification_es.rb +1 -1
  259. data/lib/ffaker/identification_es_cl.rb +6 -3
  260. data/lib/ffaker/identification_es_co.rb +2 -2
  261. data/lib/ffaker/identification_in.rb +15 -0
  262. data/lib/ffaker/identification_kr.rb +2 -2
  263. data/lib/ffaker/identification_mx.rb +13 -17
  264. data/lib/ffaker/identification_pl.rb +77 -0
  265. data/lib/ffaker/identification_tw.rb +23 -0
  266. data/lib/ffaker/image.rb +2 -0
  267. data/lib/ffaker/internet.rb +17 -24
  268. data/lib/ffaker/internet_se.rb +7 -7
  269. data/lib/ffaker/job.rb +1 -1
  270. data/lib/ffaker/job_br.rb +1 -1
  271. data/lib/ffaker/job_cn.rb +1 -1
  272. data/lib/ffaker/job_fr.rb +1 -1
  273. data/lib/ffaker/job_ja.rb +0 -1
  274. data/lib/ffaker/job_kr.rb +1 -1
  275. data/lib/ffaker/job_vn.rb +0 -1
  276. data/lib/ffaker/locale.rb +8 -12
  277. data/lib/ffaker/lorem.rb +6 -7
  278. data/lib/ffaker/lorem_ar.rb +1 -1
  279. data/lib/ffaker/lorem_cn.rb +1 -1
  280. data/lib/ffaker/lorem_fr.rb +1 -1
  281. data/lib/ffaker/lorem_ie.rb +0 -1
  282. data/lib/ffaker/lorem_ja.rb +1 -1
  283. data/lib/ffaker/lorem_kr.rb +1 -1
  284. data/lib/ffaker/lorem_pl.rb +0 -2
  285. data/lib/ffaker/lorem_ru.rb +0 -1
  286. data/lib/ffaker/lorem_ua.rb +3 -5
  287. data/lib/ffaker/movie.rb +7 -4
  288. data/lib/ffaker/music.rb +1 -1
  289. data/lib/ffaker/name.rb +5 -1
  290. data/lib/ffaker/name_ar.rb +0 -1
  291. data/lib/ffaker/name_br.rb +1 -1
  292. data/lib/ffaker/name_cn.rb +1 -1
  293. data/lib/ffaker/name_cs.rb +7 -7
  294. data/lib/ffaker/name_da.rb +2 -2
  295. data/lib/ffaker/name_de.rb +1 -1
  296. data/lib/ffaker/name_es.rb +0 -2
  297. data/lib/ffaker/name_fr.rb +1 -2
  298. data/lib/ffaker/name_ga.rb +1 -1
  299. data/lib/ffaker/name_gr.rb +2 -3
  300. data/lib/ffaker/name_id.rb +0 -1
  301. data/lib/ffaker/name_in.rb +1 -1
  302. data/lib/ffaker/name_it.rb +2 -3
  303. data/lib/ffaker/name_ja.rb +1 -1
  304. data/lib/ffaker/name_kh.rb +2 -0
  305. data/lib/ffaker/name_kr.rb +1 -1
  306. data/lib/ffaker/name_mx.rb +4 -4
  307. data/lib/ffaker/name_nb.rb +1 -1
  308. data/lib/ffaker/name_nl.rb +1 -1
  309. data/lib/ffaker/name_ph.rb +1 -1
  310. data/lib/ffaker/name_pl.rb +1 -2
  311. data/lib/ffaker/name_ru.rb +1 -1
  312. data/lib/ffaker/name_se.rb +1 -1
  313. data/lib/ffaker/name_sn.rb +3 -6
  314. data/lib/ffaker/name_th.rb +1 -1
  315. data/lib/ffaker/name_th_en.rb +1 -1
  316. data/lib/ffaker/name_tw.rb +0 -1
  317. data/lib/ffaker/name_ua.rb +1 -1
  318. data/lib/ffaker/name_vn.rb +1 -1
  319. data/lib/ffaker/nato_alphabet.rb +2 -4
  320. data/lib/ffaker/phone_number.rb +1 -1
  321. data/lib/ffaker/phone_number_au.rb +11 -12
  322. data/lib/ffaker/phone_number_br.rb +6 -13
  323. data/lib/ffaker/phone_number_ch.rb +1 -1
  324. data/lib/ffaker/phone_number_cu.rb +18 -27
  325. data/lib/ffaker/phone_number_da.rb +1 -2
  326. data/lib/ffaker/phone_number_de.rb +1 -2
  327. data/lib/ffaker/phone_number_fr.rb +3 -12
  328. data/lib/ffaker/phone_number_id.rb +2 -6
  329. data/lib/ffaker/phone_number_it.rb +1 -1
  330. data/lib/ffaker/phone_number_kr.rb +1 -1
  331. data/lib/ffaker/phone_number_mx.rb +1 -2
  332. data/lib/ffaker/phone_number_nl.rb +9 -12
  333. data/lib/ffaker/phone_number_pl.rb +3 -4
  334. data/lib/ffaker/phone_number_ru.rb +120 -0
  335. data/lib/ffaker/phone_number_se.rb +1 -1
  336. data/lib/ffaker/phone_number_sg.rb +1 -1
  337. data/lib/ffaker/phone_number_sn.rb +12 -19
  338. data/lib/ffaker/phone_number_tw.rb +3 -10
  339. data/lib/ffaker/phone_number_ua.rb +42 -0
  340. data/lib/ffaker/product.rb +10 -12
  341. data/lib/ffaker/sem_ver.rb +19 -0
  342. data/lib/ffaker/skill.rb +1 -1
  343. data/lib/ffaker/sport.rb +2 -0
  344. data/lib/ffaker/sport_pl.rb +25 -0
  345. data/lib/ffaker/sport_us.rb +2 -0
  346. data/lib/ffaker/ssn.rb +1 -1
  347. data/lib/ffaker/ssn_mx.rb +1 -2
  348. data/lib/ffaker/ssn_se.rb +16 -25
  349. data/lib/ffaker/string.rb +7 -6
  350. data/lib/ffaker/time.rb +9 -8
  351. data/lib/ffaker/tweet.rb +4 -4
  352. data/lib/ffaker/unit.rb +1 -1
  353. data/lib/ffaker/unit_english.rb +1 -1
  354. data/lib/ffaker/unit_metric.rb +1 -1
  355. data/lib/ffaker/utils/array_utils.rb +7 -4
  356. data/lib/ffaker/utils/module_utils.rb +2 -0
  357. data/lib/ffaker/utils/random_utils.rb +4 -0
  358. data/lib/ffaker/utils/unique_utils.rb +0 -2
  359. data/lib/ffaker/vehicle.rb +4 -8
  360. data/lib/ffaker/venue.rb +1 -1
  361. data/lib/ffaker/youtube.rb +1 -1
  362. data/lib/version.rb +5 -0
  363. data/scripts/benchmark.rb +12 -11
  364. data/scripts/profiling.rb +2 -0
  365. data/scripts/reference.rb +5 -2
  366. data/test/helper.rb +37 -0
  367. data/test/test_address.rb +1 -1
  368. data/test/test_address_au.rb +4 -5
  369. data/test/test_address_br.rb +1 -1
  370. data/test/test_address_ca.rb +1 -1
  371. data/test/test_address_ch.rb +1 -1
  372. data/test/test_address_ch_de.rb +1 -1
  373. data/test/test_address_ch_fr.rb +1 -1
  374. data/test/test_address_ch_it.rb +1 -1
  375. data/test/test_address_da.rb +1 -1
  376. data/test/test_address_de.rb +1 -1
  377. data/test/test_address_fi.rb +3 -4
  378. data/test/test_address_fr.rb +2 -3
  379. data/test/test_address_gr.rb +1 -1
  380. data/test/test_address_id.rb +0 -1
  381. data/test/test_address_in.rb +1 -1
  382. data/test/test_address_ja.rb +0 -1
  383. data/test/test_address_kr.rb +0 -1
  384. data/test/test_address_mx.rb +1 -2
  385. data/test/test_address_nl.rb +2 -2
  386. data/test/test_address_pl.rb +0 -1
  387. data/test/test_address_ru.rb +1 -1
  388. data/test/test_address_se.rb +3 -3
  389. data/test/test_address_sn.rb +1 -4
  390. data/test/test_address_ua.rb +1 -1
  391. data/test/test_address_uk.rb +1 -1
  392. data/test/test_address_us.rb +10 -1
  393. data/test/test_airline.rb +1 -1
  394. data/test/test_animal.rb +1 -1
  395. data/test/test_animal_cn.rb +0 -1
  396. data/test/test_animal_es.rb +17 -0
  397. data/test/test_animal_pl.rb +0 -1
  398. data/test/test_animal_us.rb +0 -1
  399. data/test/test_array_utils.rb +2 -3
  400. data/test/test_avatar.rb +4 -2
  401. data/test/test_aws.rb +1 -1
  402. data/test/test_bacon_ipsum.rb +1 -1
  403. data/test/test_bank.rb +54 -0
  404. data/test/test_book.rb +1 -1
  405. data/test/test_boolean.rb +2 -2
  406. data/test/test_cheesy_lingo.rb +4 -2
  407. data/test/test_code.rb +22 -2
  408. data/test/test_color.rb +4 -4
  409. data/test/test_color_pl.rb +13 -0
  410. data/test/test_color_ua.rb +1 -1
  411. data/test/test_company.rb +3 -3
  412. data/test/test_company_cn.rb +1 -1
  413. data/test/test_company_it.rb +1 -1
  414. data/test/test_company_ja.rb +28 -0
  415. data/test/test_company_se.rb +1 -1
  416. data/test/test_conference.rb +1 -1
  417. data/test/test_course_mathematiques.rb +2 -0
  418. data/test/test_course_philosophie.rb +2 -0
  419. data/test/test_currency.rb +1 -1
  420. data/test/test_dizzle_ipsum.rb +1 -1
  421. data/test/test_education.rb +1 -1
  422. data/test/test_education_cn.rb +0 -1
  423. data/test/test_faker.rb +1 -1
  424. data/test/test_filesystem.rb +3 -3
  425. data/test/test_food.rb +2 -2
  426. data/test/test_gender.rb +1 -1
  427. data/test/test_gender_br.rb +1 -1
  428. data/test/test_gender_cn.rb +1 -1
  429. data/test/test_gender_id.rb +0 -1
  430. data/test/test_gender_ja.rb +27 -0
  431. data/test/test_gender_jp.rb +1 -2
  432. data/test/test_gender_kr.rb +1 -1
  433. data/test/test_gender_pl.rb +1 -2
  434. data/test/test_geolocation.rb +3 -3
  435. data/test/test_guid.rb +1 -1
  436. data/test/test_healthcare_ipsum.rb +2 -0
  437. data/test/test_healthcare_ru.rb +1 -2
  438. data/test/test_hipster_ipsum.rb +2 -2
  439. data/test/test_html_ipsum.rb +13 -13
  440. data/test/test_identification.rb +2 -2
  441. data/test/test_identification_br.rb +1 -1
  442. data/test/test_identification_co.rb +3 -1
  443. data/test/test_identification_es.rb +1 -1
  444. data/test/test_identification_es_cl.rb +1 -1
  445. data/test/test_identification_es_mx.rb +1 -2
  446. data/test/test_identification_in.rb +20 -0
  447. data/test/test_identification_kr.rb +1 -1
  448. data/test/test_identification_pl.rb +28 -0
  449. data/test/test_identification_tw.rb +17 -0
  450. data/test/test_internet.rb +14 -14
  451. data/test/test_internet_se.rb +5 -5
  452. data/test/test_job.rb +1 -1
  453. data/test/test_job_br.rb +1 -1
  454. data/test/test_job_cn.rb +2 -2
  455. data/test/test_job_fr.rb +1 -1
  456. data/test/test_job_ja.rb +2 -2
  457. data/test/test_job_kr.rb +2 -2
  458. data/test/test_job_vn.rb +1 -2
  459. data/test/test_locale.rb +1 -1
  460. data/test/test_lorem.rb +1 -1
  461. data/test/test_lorem_ar.rb +2 -3
  462. data/test/test_lorem_cn.rb +7 -7
  463. data/test/test_lorem_fr.rb +5 -5
  464. data/test/test_lorem_ie.rb +2 -3
  465. data/test/test_lorem_ja.rb +4 -4
  466. data/test/test_lorem_kr.rb +4 -4
  467. data/test/test_lorem_pl.rb +2 -3
  468. data/test/test_lorem_ru.rb +3 -4
  469. data/test/test_lorem_ua.rb +4 -4
  470. data/test/test_module_utils.rb +1 -1
  471. data/test/test_movie.rb +1 -1
  472. data/test/test_music.rb +2 -2
  473. data/test/test_name.rb +6 -2
  474. data/test/test_name_ar.rb +0 -1
  475. data/test/test_name_br.rb +1 -1
  476. data/test/test_name_cn.rb +1 -1
  477. data/test/test_name_cs.rb +2 -3
  478. data/test/test_name_da.rb +5 -5
  479. data/test/test_name_de.rb +1 -1
  480. data/test/test_name_es.rb +0 -1
  481. data/test/test_name_fr.rb +1 -2
  482. data/test/test_name_ga.rb +1 -1
  483. data/test/test_name_gr.rb +1 -1
  484. data/test/test_name_id.rb +0 -1
  485. data/test/test_name_it.rb +1 -2
  486. data/test/test_name_ja.rb +1 -1
  487. data/test/test_name_kh.rb +9 -7
  488. data/test/test_name_kr.rb +1 -1
  489. data/test/test_name_mx.rb +1 -2
  490. data/test/test_name_nb.rb +1 -1
  491. data/test/test_name_nl.rb +1 -1
  492. data/test/test_name_ph.rb +2 -2
  493. data/test/test_name_pl.rb +0 -1
  494. data/test/test_name_ru.rb +4 -4
  495. data/test/test_name_se.rb +1 -1
  496. data/test/test_name_sn.rb +1 -2
  497. data/test/test_name_th.rb +1 -1
  498. data/test/test_name_th_en.rb +1 -1
  499. data/test/test_name_tw.rb +0 -1
  500. data/test/test_name_ua.rb +3 -3
  501. data/test/test_name_vn.rb +1 -1
  502. data/test/test_nato_alphabet.rb +1 -1
  503. data/test/test_phone_number.rb +1 -1
  504. data/test/test_phone_number_au.rb +4 -5
  505. data/test/test_phone_number_br.rb +2 -4
  506. data/test/test_phone_number_cu.rb +4 -11
  507. data/test/test_phone_number_da.rb +1 -2
  508. data/test/test_phone_number_de.rb +1 -2
  509. data/test/test_phone_number_fr.rb +0 -1
  510. data/test/test_phone_number_id.rb +0 -1
  511. data/test/test_phone_number_kr.rb +1 -1
  512. data/test/test_phone_number_mx.rb +1 -2
  513. data/test/test_phone_number_nl.rb +1 -2
  514. data/test/test_phone_number_pl.rb +1 -1
  515. data/test/test_phone_number_ru.rb +76 -0
  516. data/test/test_phone_number_se.rb +4 -4
  517. data/test/test_phone_number_sg.rb +1 -1
  518. data/test/test_phone_number_sn.rb +3 -4
  519. data/test/test_phone_number_tw.rb +0 -1
  520. data/test/test_phone_number_ua.rb +38 -0
  521. data/test/test_products.rb +1 -1
  522. data/test/test_sem_ver.rb +18 -0
  523. data/test/test_skill.rb +1 -1
  524. data/test/test_sport_pl.rb +30 -0
  525. data/test/test_sport_us.rb +0 -1
  526. data/test/test_sports.rb +1 -1
  527. data/test/test_ssn.rb +1 -1
  528. data/test/test_ssn_mx.rb +1 -2
  529. data/test/test_ssn_se.rb +9 -11
  530. data/test/test_string.rb +4 -4
  531. data/test/test_time.rb +14 -7
  532. data/test/test_tweet.rb +7 -7
  533. data/test/test_unique_utils.rb +1 -1
  534. data/test/test_units.rb +1 -2
  535. data/test/test_units_english.rb +1 -2
  536. data/test/test_units_metric.rb +1 -2
  537. data/test/test_vehicle.rb +1 -1
  538. data/test/test_venue.rb +1 -1
  539. data/test/test_youtube.rb +1 -1
  540. metadata +256 -159
  541. data/lib/ffaker/data/address_jp/city +0 -127
  542. data/lib/ffaker/data/address_jp/designated_city +0 -20
  543. data/lib/ffaker/data/address_jp/street +0 -37
  544. data/lib/ffaker/data/address_jp/tokyo_ward +0 -23
  545. data/lib/ffaker/data/address_jp/village +0 -183
  546. data/lib/ffaker/data/address_jp/ward +0 -188
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ module IdentificationTW
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ AREA_CODE = { a: 10, b: 11, c: 12, d: 13, e: 14, f: 15, g: 16, h: 17, i: 34, j: 18, k: 19, l: 20, m: 21, n: 22, o: 35, p: 23, q: 24, r: 25, s: 26, t: 27, u: 28, v: 29, w: 30, x: 31, y: 32, z: 33 }.freeze
9
+
10
+ # Identity Card Number
11
+ # https://en.wikipedia.org/wiki/National_identification_card_(Taiwan)#Identity_card_number
12
+ def id
13
+ letter = FFaker.letterify('?')
14
+ code = AREA_CODE[letter.to_sym]
15
+ gender = fetch_sample([1, 2])
16
+ serial = FFaker.numerify('#######')
17
+ a, b, c, d, e, f, g, h, i, j = "#{code}#{gender}#{serial}".split(//).map(&:to_i)
18
+
19
+ checksum = (9 * a + b + 2 * c + 3 * d + 4 * e + 5 * f + 6 * g + 7 * h + 8 * i + 9 * j) % 10
20
+ "#{letter.upcase}#{gender}#{serial}#{checksum}"
21
+ end
22
+ end
23
+ end
@@ -29,11 +29,13 @@ module FFaker
29
29
 
30
30
  def check_size!(size)
31
31
  return true if size =~ /\A\d+x\d+\z/
32
+
32
33
  raise ArgumentError, 'Size should be specified in format 300x300'
33
34
  end
34
35
 
35
36
  def check_format!(format)
36
37
  return true if SUPPORTED_FORMATS.include?(format)
38
+
37
39
  raise ArgumentError, "Supported formats are #{SUPPORTED_FORMATS.join(', ')}"
38
40
  end
39
41
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Internet
@@ -7,7 +7,9 @@ module FFaker
7
7
 
8
8
  BYTE = [*'0'..'255'].freeze
9
9
  HOSTS = %w[gmail.com yahoo.com hotmail.com].freeze
10
- DISPOSABLE_HOSTS = %w[mailinator.com suremail.info spamherelots.com binkmail.com safetymail.info].freeze
10
+ DISPOSABLE_HOSTS = %w[
11
+ mailinator.com suremail.info spamherelots.com binkmail.com safetymail.info
12
+ ].freeze
11
13
  DOMAIN_SUFFIXES = %w[co.uk com us ca biz info name].freeze
12
14
  SAFE_DOMAIN_SUFFIXES = %w[org com net].freeze
13
15
  SLUG_DELIMITERS = %w[- _ .].freeze
@@ -18,42 +20,34 @@ module FFaker
18
20
  end
19
21
 
20
22
  # returns an email address of an online disposable email service (like tempinbox.com).
21
- # you can really send an email to these addresses an access it by going to the service web pages.
23
+ # you can really send an email to these addresses an access it by going to the
24
+ # service web pages.
22
25
  def disposable_email(name = nil)
23
26
  [user_name(name), fetch_sample(DISPOSABLE_HOSTS)].join('@')
24
27
  end
25
28
 
26
29
  def free_email(name = nil)
27
- "#{user_name(name)}@#{fetch_sample(HOSTS)}"
30
+ [user_name(name), fetch_sample(HOSTS)].join('@')
28
31
  end
29
32
 
30
33
  def safe_email(name = nil)
31
- "#{user_name(name)}@example.#{fetch_sample(SAFE_DOMAIN_SUFFIXES)}"
34
+ [user_name(name), fetch_sample(SAFE_DOMAIN_SUFFIXES)].join('@example.')
32
35
  end
33
36
 
34
37
  def user_name(name = nil)
35
- if name
36
- parts = shuffle(name.scan(/\w+/)).join(fetch_sample(%w[. _]))
37
- parts.downcase
38
- else
39
- case rand(0..1)
40
- when 0
41
- sanitize(Name.first_name)
42
- when 1
43
- [Name.first_name, Name.last_name].map { |n| sanitize(n) }.join(fetch_sample(%w[. _]))
44
- end
45
- end
38
+ return shuffle(name.split(' ')).join(fetch_sample(%w[. _])).downcase if name
39
+
40
+ return sanitize(Name.first_name) if rand(0..1).zero?
41
+
42
+ [sanitize(Name.first_name), sanitize(Name.last_name)].join(fetch_sample(%w[. _]))
46
43
  end
47
44
 
48
45
  def domain_name
49
- "#{domain_word}.#{domain_suffix}"
46
+ [domain_word, domain_suffix].join('.')
50
47
  end
51
48
 
52
49
  def domain_word
53
- dw = Company.name.split(' ').first
54
- dw.gsub!(/\W/, '')
55
- dw.downcase!
56
- dw
50
+ sanitize(Company.name.split(' ').first)
57
51
  end
58
52
 
59
53
  def domain_suffix
@@ -61,7 +55,7 @@ module FFaker
61
55
  end
62
56
 
63
57
  def uri(protocol)
64
- "#{protocol}://#{domain_name}"
58
+ [protocol, domain_name].join('://')
65
59
  end
66
60
 
67
61
  def http_url
@@ -79,8 +73,7 @@ module FFaker
79
73
  end
80
74
 
81
75
  def password(min_length = 8, max_length = 16)
82
- length =
83
- min_length > max_length ? min_length : fetch_sample([*min_length..max_length])
76
+ length = min_length > max_length ? min_length : fetch_sample(min_length..max_length)
84
77
  String.from_regexp(/\w{#{length}}/)
85
78
  end
86
79
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/internet'
4
4
 
@@ -12,11 +12,13 @@ module FFaker
12
12
  BYTE = [*'0'..'255'].freeze
13
13
  HOSTS = %w[gmail.com yahoo.com hotmail.com spray.se passagen.se].freeze
14
14
  DOMAIN_SUFFIXES = %w[se nu com].freeze
15
- DISPOSABLE_HOSTS = %w[mailinator.com suremail.info spamherelots.com binkmail.com safetymail.info].freeze
15
+ DISPOSABLE_HOSTS = %w[
16
+ mailinator.com suremail.info spamherelots.com binkmail.com safetymail.info
17
+ ].freeze
16
18
  SLUG_DELIMITERS = %w[- _ .].freeze
17
19
 
18
20
  def email(name = nil)
19
- "#{user_name(name)}@#{domain_name}"
21
+ +"#{user_name(name)}@#{domain_name}"
20
22
  end
21
23
 
22
24
  # Returns an email address of an online disposable email service
@@ -38,14 +40,12 @@ module FFaker
38
40
  # Mostly used for email creation
39
41
  def user_name(name = nil)
40
42
  return user_name_from_name(name) if name
43
+
41
44
  user_name_random
42
45
  end
43
46
 
44
47
  def user_name_random
45
- case rand(0..1)
46
- when 0 then user_name_variant_short
47
- when 1 then user_name_variant_long
48
- end
48
+ rand(0..1).zero? ? user_name_variant_short : user_name_variant_long
49
49
  end
50
50
 
51
51
  def user_name_variant_long
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Job
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module JobBR
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module JobCN
@@ -1,4 +1,4 @@
1
- # encoding: UTF-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module JobFR
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  module FFaker
5
4
  module JobJA
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module JobKR
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  module FFaker
5
4
  module JobVN
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Locale
@@ -7,20 +7,16 @@ module FFaker
7
7
 
8
8
  def code(given_language = nil)
9
9
  code_index = LANGUAGE.index(given_language)
10
- if given_language && code_index
11
- LANGUAGE_CODE[code_index]
12
- else
13
- fetch_sample(LANGUAGE_CODE)
14
- end
10
+ return LANGUAGE_CODE[code_index] if given_language && code_index
11
+
12
+ fetch_sample(LANGUAGE_CODE)
15
13
  end
16
14
 
17
15
  def language(given_code = nil)
18
- language_index = LANGUAGE_CODE.index(given_code && given_code.upcase)
19
- if given_code && language_index
20
- LANGUAGE[language_index]
21
- else
22
- fetch_sample(LANGUAGE)
23
- end
16
+ language_index = LANGUAGE_CODE.index(given_code&.upcase)
17
+ return LANGUAGE[language_index] if given_code && language_index
18
+
19
+ fetch_sample(LANGUAGE)
24
20
  end
25
21
  end
26
22
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  # Based on Perl's Text::Lorem
@@ -7,7 +7,8 @@ module FFaker
7
7
  extend self
8
8
 
9
9
  def characters(character_count = 255)
10
- Array.new(character_count < 0 ? 0 : character_count).map { fetch_sample(CHARACTERS) }.join
10
+ character_count = 0 if character_count.negative?
11
+ Array.new(character_count).map { fetch_sample(CHARACTERS) }.join
11
12
  end
12
13
 
13
14
  def word
@@ -20,11 +21,9 @@ module FFaker
20
21
 
21
22
  def sentence(word_count = 4)
22
23
  first_word, *last_words = words(word_count + rand(1..5))
23
- if last_words.nil?
24
- first_word.capitalize
25
- else
26
- "#{first_word.capitalize} #{last_words.join(' ')}."
27
- end
24
+ return "#{first_word.capitalize} #{last_words.join(' ')}." if last_words
25
+
26
+ first_word.capitalize
28
27
  end
29
28
 
30
29
  alias phrase sentence
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  # Based on Perl's Text::Lorem
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  # Based on Perl's Text::Lorem
@@ -1,4 +1,4 @@
1
- # encoding: UTF-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module LoremFR
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: UTF-8
3
2
 
4
3
  module FFaker
5
4
  module LoremIE
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module LoremJA
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module LoremKR
@@ -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
8
6
  module LoremPL
@@ -1,4 +1,3 @@
1
- # encoding: utf-8
2
1
  # frozen_string_literal: true
3
2
 
4
3
  module FFaker
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module LoremUA
@@ -17,7 +17,7 @@ module FFaker
17
17
  elements = words(word_count + rand(0..9))
18
18
  elements.insert(rand(3..(elements.count - 3)), ',') if elements.count > 10
19
19
  result = elements.join(' ').gsub(' , ', ', ')
20
- capitalize_ukrainian("#{result}#{sentence_type_mark}")
20
+ capitalize_ukrainian(+"#{result}#{sentence_type_mark}")
21
21
  end
22
22
 
23
23
  alias phrase sentence
@@ -47,9 +47,7 @@ module FFaker
47
47
  end
48
48
 
49
49
  def capitalize_ukrainian(string)
50
- unless CAPITAL_CHARS.include?(string[0])
51
- string[0] = CAPITAL_CHARS[CHARS.index(string[0])]
52
- end
50
+ string[0] = CAPITAL_CHARS[CHARS.index(string[0])] unless CAPITAL_CHARS.include?(string[0])
53
51
  string
54
52
  end
55
53
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Movie
@@ -6,8 +6,8 @@ module FFaker
6
6
  extend self
7
7
 
8
8
  SUFFIXES = [
9
- 'from Hell', 'from Outer Space', 'from Mars', 'from the Black Lagoon', 'with a Thousand Faces',
10
- 'from Across the Ocean', 'Who Fell to Earth', 'That Came to Dinner'
9
+ 'from Hell', 'from Outer Space', 'from Mars', 'from the Black Lagoon',
10
+ 'with a Thousand Faces', 'from Across the Ocean', 'Who Fell to Earth', 'That Came to Dinner'
11
11
  ].freeze
12
12
  COLORS = %w[Red Yellow Black White].freeze
13
13
 
@@ -59,7 +59,10 @@ module FFaker
59
59
  when 10 then "The #{fetch_sample(COLORS)} Rose of #{FFaker::AddressUK.country}"
60
60
  when 11 then "Hard Boiled #{fetch_sample(NOUNS)}"
61
61
  else
62
- ::String.new.tap { |s| n = simple_title; s.replace("#{n} 2: Son of #{n}") }
62
+ ::String.new.tap do |string|
63
+ title = simple_title
64
+ string.replace("#{title} 2: Son of #{title}")
65
+ end
63
66
  end
64
67
  end
65
68
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Music
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Name
@@ -113,5 +113,9 @@ module FFaker
113
113
  def suffix
114
114
  fetch_sample(SUFFIXES)
115
115
  end
116
+
117
+ def pronouns
118
+ fetch_sample(PRONOUNS)
119
+ end
116
120
  end
117
121
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  module FFaker
5
4
  module NameAR
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module NameBR
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module NameCN
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/name'
4
4
 
@@ -10,12 +10,12 @@ module FFaker
10
10
  extend self
11
11
 
12
12
  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]
13
+ female: FEMALE_FIRST_NAMES,
14
+ male: MALE_FIRST_NAMES
15
15
  }.freeze
16
16
  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ší]
17
+ female: FEMALE_LAST_NAMES,
18
+ male: MALE_LAST_NAMES
19
19
  }.freeze
20
20
  SUFFIXES = %w[Ph.D. Th.D. DSc.].freeze
21
21
  GENDERS = %i[male female random].freeze # :nodoc:
@@ -81,8 +81,8 @@ module FFaker
81
81
  def select_sex(sex) # :nodoc:
82
82
  @fixed_sex ||= nil
83
83
  given_sex = @fixed_sex || sex
84
- raise ArgumentError, "Unknown sex #{given_sex}" \
85
- unless GENDERS.include?(given_sex)
84
+ raise ArgumentError, "Unknown sex #{given_sex}" unless GENDERS.include?(given_sex)
85
+
86
86
  given_sex == :random ? GENDERS[rand(0..1)] : given_sex
87
87
  end
88
88
  end