ffaker 2.11.0 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (512) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +14 -0
  3. data/Gemfile +2 -0
  4. data/REFERENCE.md +47 -0
  5. data/Rakefile +2 -0
  6. data/ffaker.gemspec +5 -3
  7. data/lib/ffaker.rb +14 -9
  8. data/lib/ffaker/address.rb +3 -3
  9. data/lib/ffaker/address_au.rb +7 -9
  10. data/lib/ffaker/address_br.rb +1 -1
  11. data/lib/ffaker/address_ca.rb +2 -2
  12. data/lib/ffaker/address_ch.rb +1 -1
  13. data/lib/ffaker/address_ch_de.rb +1 -1
  14. data/lib/ffaker/address_ch_fr.rb +1 -1
  15. data/lib/ffaker/address_ch_it.rb +1 -1
  16. data/lib/ffaker/address_da.rb +1 -1
  17. data/lib/ffaker/address_de.rb +1 -1
  18. data/lib/ffaker/address_fi.rb +1 -1
  19. data/lib/ffaker/address_fr.rb +1 -1
  20. data/lib/ffaker/address_gr.rb +1 -1
  21. data/lib/ffaker/address_id.rb +0 -1
  22. data/lib/ffaker/address_in.rb +2 -2
  23. data/lib/ffaker/address_ja.rb +0 -1
  24. data/lib/ffaker/address_kr.rb +0 -1
  25. data/lib/ffaker/address_mx.rb +7 -469
  26. data/lib/ffaker/address_nl.rb +1 -1
  27. data/lib/ffaker/address_pl.rb +0 -2
  28. data/lib/ffaker/address_ru.rb +1 -1
  29. data/lib/ffaker/address_se.rb +1 -1
  30. data/lib/ffaker/address_sn.rb +1 -2
  31. data/lib/ffaker/address_ua.rb +2 -2
  32. data/lib/ffaker/address_uk.rb +1 -1
  33. data/lib/ffaker/address_us.rb +1 -1
  34. data/lib/ffaker/airline.rb +1 -1
  35. data/lib/ffaker/animal_pl.rb +0 -2
  36. data/lib/ffaker/animals.rb +1 -1
  37. data/lib/ffaker/animals_cn.rb +0 -1
  38. data/lib/ffaker/animals_us.rb +0 -1
  39. data/lib/ffaker/avatar.rb +23 -5
  40. data/lib/ffaker/aws.rb +1 -1
  41. data/lib/ffaker/bacon_ipsum.rb +1 -1
  42. data/lib/ffaker/bank.rb +106 -0
  43. data/lib/ffaker/book.rb +1 -1
  44. data/lib/ffaker/boolean.rb +1 -1
  45. data/lib/ffaker/cheesy_lingo.rb +3 -6
  46. data/lib/ffaker/code.rb +0 -1
  47. data/lib/ffaker/color.rb +7 -7
  48. data/lib/ffaker/color_ua.rb +1 -1
  49. data/lib/ffaker/company.rb +1 -1
  50. data/lib/ffaker/company_cn.rb +1 -1
  51. data/lib/ffaker/company_it.rb +4 -2
  52. data/lib/ffaker/company_se.rb +1 -1
  53. data/lib/ffaker/conference.rb +1 -1
  54. data/lib/ffaker/courses.rb +1 -1
  55. data/lib/ffaker/currency.rb +1 -1
  56. data/lib/ffaker/data/address/city_suffixes +1 -1
  57. data/lib/ffaker/data/address/country +1 -1
  58. data/lib/ffaker/data/address/country_code +1 -1
  59. data/lib/ffaker/data/address/neighborhood +1 -1
  60. data/lib/ffaker/data/address/street_suffix +1 -1
  61. data/lib/ffaker/data/address_ca/city +99 -99
  62. data/lib/ffaker/data/address_ca/province +1 -1
  63. data/lib/ffaker/data/address_de/city +1 -1
  64. data/lib/ffaker/data/address_de/state +1 -1
  65. data/lib/ffaker/data/address_fr/city +1 -1
  66. data/lib/ffaker/data/address_gr/city +1 -1
  67. data/lib/ffaker/data/address_gr/region +1 -1
  68. data/lib/ffaker/data/address_gr/street +1 -1
  69. data/lib/ffaker/data/address_mx/ags +11 -0
  70. data/lib/ffaker/data/address_mx/bc +5 -0
  71. data/lib/ffaker/data/address_mx/bcs +5 -0
  72. data/lib/ffaker/data/address_mx/camp +11 -0
  73. data/lib/ffaker/data/address_mx/chih +67 -0
  74. data/lib/ffaker/data/address_mx/chis +118 -0
  75. data/lib/ffaker/data/address_mx/coah +38 -0
  76. data/lib/ffaker/data/address_mx/col +10 -0
  77. data/lib/ffaker/data/address_mx/df +16 -0
  78. data/lib/ffaker/data/address_mx/dgo +39 -0
  79. data/lib/ffaker/data/address_mx/gro +81 -0
  80. data/lib/ffaker/data/address_mx/gto +46 -0
  81. data/lib/ffaker/data/address_mx/hgo +84 -0
  82. data/lib/ffaker/data/address_mx/jal +125 -0
  83. data/lib/ffaker/data/address_mx/mex +125 -0
  84. data/lib/ffaker/data/address_mx/mich +113 -0
  85. data/lib/ffaker/data/address_mx/mor +33 -0
  86. data/lib/ffaker/data/address_mx/nay +20 -0
  87. data/lib/ffaker/data/address_mx/nl +51 -0
  88. data/lib/ffaker/data/address_mx/oax +570 -0
  89. data/lib/ffaker/data/address_mx/pue +217 -0
  90. data/lib/ffaker/data/address_mx/qr +10 -0
  91. data/lib/ffaker/data/address_mx/qro +18 -0
  92. data/lib/ffaker/data/address_mx/sin +18 -0
  93. data/lib/ffaker/data/address_mx/slp +58 -0
  94. data/lib/ffaker/data/address_mx/son +72 -0
  95. data/lib/ffaker/data/address_mx/state +1 -1
  96. data/lib/ffaker/data/address_mx/state_abbr +1 -1
  97. data/lib/ffaker/data/address_mx/tab +17 -0
  98. data/lib/ffaker/data/address_mx/tamps +43 -0
  99. data/lib/ffaker/data/address_mx/tlax +60 -0
  100. data/lib/ffaker/data/address_mx/ver +212 -0
  101. data/lib/ffaker/data/address_mx/yuc +106 -0
  102. data/lib/ffaker/data/address_mx/zac +58 -0
  103. data/lib/ffaker/data/address_ru/city +1 -1
  104. data/lib/ffaker/data/address_se/city +1 -1
  105. data/lib/ffaker/data/address_se/countries +1 -1
  106. data/lib/ffaker/data/address_se/street +1 -1
  107. data/lib/ffaker/data/address_sn/arrondissements +1 -1
  108. data/lib/ffaker/data/address_sn/departements +1 -1
  109. data/lib/ffaker/data/address_sn/regions +1 -1
  110. data/lib/ffaker/data/address_uk/county +1 -1
  111. data/lib/ffaker/data/address_us/state +1 -1
  112. data/lib/ffaker/data/address_us/state_abbr +1 -1
  113. data/lib/ffaker/data/address_us/state_and_territories_abbr +1 -1
  114. data/lib/ffaker/data/animal_cn/common_names +1 -1
  115. data/lib/ffaker/data/aws/ec2_reserved_instance_tenancy +1 -1
  116. data/lib/ffaker/data/aws/ec2_reserved_offering_type +1 -1
  117. data/lib/ffaker/data/aws/ec2_reserved_product_description +1 -1
  118. data/lib/ffaker/data/cheesy_lingo/cheesy_phrases +1 -1
  119. data/lib/ffaker/data/cheesy_lingo/cheesy_words +1 -1
  120. data/lib/ffaker/data/color/names_list +1 -1
  121. data/lib/ffaker/data/company/bs_mid +1 -1
  122. data/lib/ffaker/data/company/bs_pos +1 -1
  123. data/lib/ffaker/data/company/bs_pre +1 -1
  124. data/lib/ffaker/data/company/catch_mid +1 -1
  125. data/lib/ffaker/data/company/catch_pos +1 -1
  126. data/lib/ffaker/data/company/catch_pre +1 -1
  127. data/lib/ffaker/data/company/position_areas +1 -1
  128. data/lib/ffaker/data/conference/conference_list +1 -1
  129. data/lib/ffaker/data/currency/currency_code +1 -1
  130. data/lib/ffaker/data/currency/currency_name +1 -1
  131. data/lib/ffaker/data/currency/currency_symbol +0 -1
  132. data/lib/ffaker/data/dizzle_ipsum/dizzle_words +1 -1
  133. data/lib/ffaker/data/education/major_noun +1 -1
  134. data/lib/ffaker/data/education/school_suffix +1 -1
  135. data/lib/ffaker/data/education_cn/city +1 -1
  136. data/lib/ffaker/data/education_cn/major +1 -1
  137. data/lib/ffaker/data/education_cn/province +1 -1
  138. data/lib/ffaker/data/education_cn/school_type +1 -1
  139. data/lib/ffaker/data/food/fruit +1 -1
  140. data/lib/ffaker/data/food/herb_spice +1 -1
  141. data/lib/ffaker/data/food/meat +1 -1
  142. data/lib/ffaker/data/food/vegetable +1 -1
  143. data/lib/ffaker/data/hipster_ipsum/hipster_words +1 -1
  144. data/lib/ffaker/data/identification_mx/estados_curp +1 -1
  145. data/lib/ffaker/data/job/job_adj +1 -1
  146. data/lib/ffaker/data/job/job_noun +1 -1
  147. data/lib/ffaker/data/job/job_prefix +1 -1
  148. data/lib/ffaker/data/job_fr/job_prefixes +1 -1
  149. data/lib/ffaker/data/locale/language +1 -1
  150. data/lib/ffaker/data/locale/language_code +1 -1
  151. data/lib/ffaker/data/lorem/characters +1 -1
  152. data/lib/ffaker/data/lorem/words +1 -1
  153. data/lib/ffaker/data/lorem_ar/words +1 -1
  154. data/lib/ffaker/data/lorem_cn/words +1 -1
  155. data/lib/ffaker/data/lorem_fr/words +1 -1
  156. data/lib/ffaker/data/movie/adj_and_adv +1 -1
  157. data/lib/ffaker/data/movie/nouns +1 -1
  158. data/lib/ffaker/data/movie/prefixes +1 -1
  159. data/lib/ffaker/data/name/pronouns +6 -0
  160. data/lib/ffaker/data/name_ar/first_names_female +1 -1
  161. data/lib/ffaker/data/name_ar/first_names_male +1 -1
  162. data/lib/ffaker/data/name_ar/last_names +1 -1
  163. data/lib/ffaker/data/name_cn/first_names +1 -1
  164. data/lib/ffaker/data/name_cn/last_names +1 -1
  165. data/lib/ffaker/data/name_cs/female_first_names +40 -0
  166. data/lib/ffaker/data/name_cs/female_last_names +50 -0
  167. data/lib/ffaker/data/name_cs/male_first_names +88 -0
  168. data/lib/ffaker/data/name_cs/male_last_names +49 -0
  169. data/lib/ffaker/data/name_cs/prefixes +4 -4
  170. data/lib/ffaker/data/name_de/first_names +1 -1
  171. data/lib/ffaker/data/name_de/last_names +1 -1
  172. data/lib/ffaker/data/name_fr/first_names +1 -1
  173. data/lib/ffaker/data/name_fr/last_names +1 -1
  174. data/lib/ffaker/data/name_ga/first_names_female +1 -1
  175. data/lib/ffaker/data/name_ga/first_names_male +1 -1
  176. data/lib/ffaker/data/name_gr/female_first_names +1 -1
  177. data/lib/ffaker/data/name_gr/female_last_names +1 -1
  178. data/lib/ffaker/data/name_gr/male_first_names +1 -1
  179. data/lib/ffaker/data/name_gr/male_last_names +1 -1
  180. data/lib/ffaker/data/name_it/first_names +1 -1
  181. data/lib/ffaker/data/name_it/last_names +1 -1
  182. data/lib/ffaker/data/name_ja/first_names +1 -1
  183. data/lib/ffaker/data/name_ja/last_names +1 -1
  184. data/lib/ffaker/data/name_kh/first_names +1 -1
  185. data/lib/ffaker/data/name_kh/nick_names +1 -1
  186. data/lib/ffaker/data/name_kr/first_names +1 -1
  187. data/lib/ffaker/data/name_kr/last_names +1 -1
  188. data/lib/ffaker/data/name_mx/female_first_names +1 -1
  189. data/lib/ffaker/data/name_mx/last_names +1 -1
  190. data/lib/ffaker/data/name_mx/male_first_names +1 -1
  191. data/lib/ffaker/data/name_ph/autochthonous_surnames +1 -1
  192. data/lib/ffaker/data/name_ph/spanish_surnames +1 -1
  193. data/lib/ffaker/data/name_ru/first_names_male +0 -1
  194. data/lib/ffaker/data/name_se/first_names_female +1 -1
  195. data/lib/ffaker/data/name_se/first_names_male +1 -1
  196. data/lib/ffaker/data/name_se/last_names +1 -1
  197. data/lib/ffaker/data/name_sn/first_names_female +1 -1
  198. data/lib/ffaker/data/name_sn/first_names_male +1 -1
  199. data/lib/ffaker/data/name_sn/last_names +1 -1
  200. data/lib/ffaker/data/name_th/first_names +1 -1
  201. data/lib/ffaker/data/name_th/last_names +1 -1
  202. data/lib/ffaker/data/name_th/nick_names +1 -1
  203. data/lib/ffaker/data/nato_alphabet/alphabet_codes +26 -0
  204. data/lib/ffaker/data/nato_alphabet/numeric_codes +10 -0
  205. data/lib/ffaker/data/phone_number_nl/area_codes +142 -0
  206. data/lib/ffaker/data/phone_number_ru/home_phone_prefixes +107 -0
  207. data/lib/ffaker/data/phone_number_ru/mobile_phone_prefixes +61 -0
  208. data/lib/ffaker/data/phone_number_se/phone_prefix +1 -1
  209. data/lib/ffaker/data/phone_number_ua/home_phone_prefixes +29 -0
  210. data/lib/ffaker/data/phone_number_ua/mobile_phone_prefixes +11 -0
  211. data/lib/ffaker/data/product/adj +1 -1
  212. data/lib/ffaker/data/product/b1 +1 -1
  213. data/lib/ffaker/data/skill/specialty_end +1 -1
  214. data/lib/ffaker/data/skill/specialty_start +1 -1
  215. data/lib/ffaker/data/skill/tech_skills +1 -1
  216. data/lib/ffaker/data/vehicle/displacements_list +1 -1
  217. data/lib/ffaker/data/vehicle/fuel_types_list +1 -1
  218. data/lib/ffaker/data/vehicle/makes_list +1 -1
  219. data/lib/ffaker/data/vehicle/transmissions_list +1 -1
  220. data/lib/ffaker/data/vehicle/upholstery_list +1 -1
  221. data/lib/ffaker/data/venue/venue_list +1 -1
  222. data/lib/ffaker/dizzle_ipsum.rb +1 -1
  223. data/lib/ffaker/education.rb +5 -2
  224. data/lib/ffaker/education_cn.rb +1 -2
  225. data/lib/ffaker/filesystem.rb +1 -1
  226. data/lib/ffaker/food.rb +2 -0
  227. data/lib/ffaker/gender.rb +1 -1
  228. data/lib/ffaker/gender_br.rb +1 -1
  229. data/lib/ffaker/gender_cn.rb +1 -1
  230. data/lib/ffaker/gender_id.rb +0 -1
  231. data/lib/ffaker/gender_ja.rb +18 -0
  232. data/lib/ffaker/gender_jp.rb +2 -12
  233. data/lib/ffaker/gender_kr.rb +1 -1
  234. data/lib/ffaker/gender_pl.rb +0 -2
  235. data/lib/ffaker/geolocation.rb +32 -22
  236. data/lib/ffaker/guid.rb +1 -1
  237. data/lib/ffaker/healthcare_ipsum.rb +1 -1
  238. data/lib/ffaker/healthcare_ru.rb +0 -1
  239. data/lib/ffaker/hipster_ipsum.rb +1 -1
  240. data/lib/ffaker/html_ipsum.rb +3 -3
  241. data/lib/ffaker/identification.rb +5 -2
  242. data/lib/ffaker/identification_br.rb +1 -1
  243. data/lib/ffaker/identification_es.rb +1 -1
  244. data/lib/ffaker/identification_es_cl.rb +6 -3
  245. data/lib/ffaker/identification_es_co.rb +2 -2
  246. data/lib/ffaker/identification_kr.rb +1 -1
  247. data/lib/ffaker/identification_mx.rb +13 -17
  248. data/lib/ffaker/image.rb +2 -0
  249. data/lib/ffaker/internet.rb +17 -22
  250. data/lib/ffaker/internet_se.rb +7 -7
  251. data/lib/ffaker/job.rb +1 -1
  252. data/lib/ffaker/job_br.rb +1 -1
  253. data/lib/ffaker/job_cn.rb +1 -1
  254. data/lib/ffaker/job_fr.rb +1 -1
  255. data/lib/ffaker/job_ja.rb +0 -1
  256. data/lib/ffaker/job_kr.rb +1 -1
  257. data/lib/ffaker/job_vn.rb +0 -1
  258. data/lib/ffaker/locale.rb +8 -12
  259. data/lib/ffaker/lorem.rb +6 -7
  260. data/lib/ffaker/lorem_ar.rb +1 -1
  261. data/lib/ffaker/lorem_cn.rb +1 -1
  262. data/lib/ffaker/lorem_fr.rb +1 -1
  263. data/lib/ffaker/lorem_ie.rb +0 -1
  264. data/lib/ffaker/lorem_ja.rb +1 -1
  265. data/lib/ffaker/lorem_kr.rb +1 -1
  266. data/lib/ffaker/lorem_pl.rb +0 -2
  267. data/lib/ffaker/lorem_ru.rb +0 -1
  268. data/lib/ffaker/lorem_ua.rb +3 -5
  269. data/lib/ffaker/movie.rb +7 -4
  270. data/lib/ffaker/music.rb +1 -1
  271. data/lib/ffaker/name.rb +5 -1
  272. data/lib/ffaker/name_ar.rb +0 -1
  273. data/lib/ffaker/name_br.rb +1 -1
  274. data/lib/ffaker/name_cn.rb +1 -1
  275. data/lib/ffaker/name_cs.rb +7 -7
  276. data/lib/ffaker/name_da.rb +2 -2
  277. data/lib/ffaker/name_de.rb +1 -1
  278. data/lib/ffaker/name_es.rb +0 -2
  279. data/lib/ffaker/name_fr.rb +1 -2
  280. data/lib/ffaker/name_ga.rb +1 -1
  281. data/lib/ffaker/name_gr.rb +2 -3
  282. data/lib/ffaker/name_id.rb +0 -1
  283. data/lib/ffaker/name_in.rb +1 -1
  284. data/lib/ffaker/name_it.rb +2 -3
  285. data/lib/ffaker/name_ja.rb +1 -1
  286. data/lib/ffaker/name_kh.rb +2 -0
  287. data/lib/ffaker/name_kr.rb +1 -1
  288. data/lib/ffaker/name_mx.rb +2 -2
  289. data/lib/ffaker/name_nb.rb +1 -1
  290. data/lib/ffaker/name_nl.rb +1 -1
  291. data/lib/ffaker/name_ph.rb +1 -1
  292. data/lib/ffaker/name_pl.rb +1 -2
  293. data/lib/ffaker/name_ru.rb +1 -1
  294. data/lib/ffaker/name_se.rb +1 -1
  295. data/lib/ffaker/name_sn.rb +3 -6
  296. data/lib/ffaker/name_th.rb +1 -1
  297. data/lib/ffaker/name_th_en.rb +1 -1
  298. data/lib/ffaker/name_tw.rb +0 -1
  299. data/lib/ffaker/name_ua.rb +1 -1
  300. data/lib/ffaker/name_vn.rb +1 -1
  301. data/lib/ffaker/nato_alphabet.rb +2 -4
  302. data/lib/ffaker/phone_number.rb +1 -1
  303. data/lib/ffaker/phone_number_au.rb +11 -12
  304. data/lib/ffaker/phone_number_br.rb +6 -13
  305. data/lib/ffaker/phone_number_ch.rb +1 -1
  306. data/lib/ffaker/phone_number_cu.rb +18 -27
  307. data/lib/ffaker/phone_number_da.rb +1 -2
  308. data/lib/ffaker/phone_number_de.rb +1 -2
  309. data/lib/ffaker/phone_number_fr.rb +3 -12
  310. data/lib/ffaker/phone_number_id.rb +2 -6
  311. data/lib/ffaker/phone_number_it.rb +1 -1
  312. data/lib/ffaker/phone_number_kr.rb +1 -1
  313. data/lib/ffaker/phone_number_mx.rb +1 -2
  314. data/lib/ffaker/phone_number_nl.rb +9 -12
  315. data/lib/ffaker/phone_number_pl.rb +3 -4
  316. data/lib/ffaker/phone_number_ru.rb +120 -0
  317. data/lib/ffaker/phone_number_se.rb +1 -1
  318. data/lib/ffaker/phone_number_sg.rb +1 -1
  319. data/lib/ffaker/phone_number_sn.rb +12 -19
  320. data/lib/ffaker/phone_number_tw.rb +3 -10
  321. data/lib/ffaker/phone_number_ua.rb +42 -0
  322. data/lib/ffaker/product.rb +9 -11
  323. data/lib/ffaker/sem_ver.rb +19 -0
  324. data/lib/ffaker/skill.rb +1 -1
  325. data/lib/ffaker/sport.rb +2 -0
  326. data/lib/ffaker/sport_us.rb +2 -0
  327. data/lib/ffaker/ssn.rb +1 -1
  328. data/lib/ffaker/ssn_mx.rb +1 -2
  329. data/lib/ffaker/ssn_se.rb +16 -25
  330. data/lib/ffaker/string.rb +6 -5
  331. data/lib/ffaker/time.rb +9 -8
  332. data/lib/ffaker/tweet.rb +4 -4
  333. data/lib/ffaker/unit.rb +1 -1
  334. data/lib/ffaker/unit_english.rb +1 -1
  335. data/lib/ffaker/unit_metric.rb +1 -1
  336. data/lib/ffaker/utils/array_utils.rb +7 -4
  337. data/lib/ffaker/utils/module_utils.rb +2 -0
  338. data/lib/ffaker/utils/random_utils.rb +2 -0
  339. data/lib/ffaker/vehicle.rb +6 -5
  340. data/lib/ffaker/venue.rb +1 -1
  341. data/lib/ffaker/youtube.rb +1 -1
  342. data/scripts/benchmark.rb +2 -0
  343. data/scripts/profiling.rb +2 -0
  344. data/scripts/reference.rb +5 -2
  345. data/test/helper.rb +2 -0
  346. data/test/test_address.rb +1 -1
  347. data/test/test_address_au.rb +4 -5
  348. data/test/test_address_br.rb +1 -1
  349. data/test/test_address_ca.rb +1 -1
  350. data/test/test_address_ch.rb +1 -1
  351. data/test/test_address_ch_de.rb +1 -1
  352. data/test/test_address_ch_fr.rb +1 -1
  353. data/test/test_address_ch_it.rb +1 -1
  354. data/test/test_address_da.rb +1 -1
  355. data/test/test_address_de.rb +1 -1
  356. data/test/test_address_fi.rb +3 -4
  357. data/test/test_address_fr.rb +1 -2
  358. data/test/test_address_gr.rb +1 -1
  359. data/test/test_address_id.rb +0 -1
  360. data/test/test_address_in.rb +1 -1
  361. data/test/test_address_ja.rb +0 -1
  362. data/test/test_address_kr.rb +0 -1
  363. data/test/test_address_mx.rb +1 -2
  364. data/test/test_address_nl.rb +1 -1
  365. data/test/test_address_pl.rb +0 -1
  366. data/test/test_address_ru.rb +1 -1
  367. data/test/test_address_se.rb +3 -3
  368. data/test/test_address_sn.rb +1 -4
  369. data/test/test_address_ua.rb +1 -1
  370. data/test/test_address_uk.rb +1 -1
  371. data/test/test_address_us.rb +1 -1
  372. data/test/test_airline.rb +1 -1
  373. data/test/test_animal.rb +1 -1
  374. data/test/test_animal_cn.rb +0 -1
  375. data/test/test_animal_pl.rb +0 -1
  376. data/test/test_animal_us.rb +0 -1
  377. data/test/test_array_utils.rb +2 -2
  378. data/test/test_avatar.rb +4 -2
  379. data/test/test_aws.rb +1 -1
  380. data/test/test_bacon_ipsum.rb +1 -1
  381. data/test/test_bank.rb +18 -0
  382. data/test/test_book.rb +1 -1
  383. data/test/test_boolean.rb +2 -2
  384. data/test/test_cheesy_lingo.rb +4 -2
  385. data/test/test_code.rb +0 -1
  386. data/test/test_color.rb +4 -4
  387. data/test/test_color_ua.rb +1 -1
  388. data/test/test_company.rb +3 -3
  389. data/test/test_company_cn.rb +1 -1
  390. data/test/test_company_it.rb +1 -1
  391. data/test/test_company_se.rb +1 -1
  392. data/test/test_conference.rb +1 -1
  393. data/test/test_course_mathematiques.rb +2 -0
  394. data/test/test_course_philosophie.rb +2 -0
  395. data/test/test_currency.rb +1 -1
  396. data/test/test_dizzle_ipsum.rb +1 -1
  397. data/test/test_education.rb +1 -1
  398. data/test/test_education_cn.rb +0 -1
  399. data/test/test_faker.rb +1 -1
  400. data/test/test_filesystem.rb +3 -3
  401. data/test/test_food.rb +2 -2
  402. data/test/test_gender.rb +1 -1
  403. data/test/test_gender_br.rb +1 -1
  404. data/test/test_gender_cn.rb +1 -1
  405. data/test/test_gender_id.rb +0 -1
  406. data/test/test_gender_ja.rb +27 -0
  407. data/test/test_gender_jp.rb +1 -2
  408. data/test/test_gender_kr.rb +1 -1
  409. data/test/test_gender_pl.rb +1 -2
  410. data/test/test_geolocation.rb +1 -1
  411. data/test/test_guid.rb +1 -1
  412. data/test/test_healthcare_ipsum.rb +2 -0
  413. data/test/test_healthcare_ru.rb +1 -2
  414. data/test/test_hipster_ipsum.rb +2 -2
  415. data/test/test_html_ipsum.rb +13 -13
  416. data/test/test_identification.rb +2 -2
  417. data/test/test_identification_br.rb +1 -1
  418. data/test/test_identification_co.rb +2 -0
  419. data/test/test_identification_es.rb +1 -1
  420. data/test/test_identification_es_cl.rb +1 -1
  421. data/test/test_identification_es_mx.rb +1 -2
  422. data/test/test_identification_kr.rb +1 -1
  423. data/test/test_internet.rb +5 -5
  424. data/test/test_internet_se.rb +5 -5
  425. data/test/test_job.rb +1 -1
  426. data/test/test_job_br.rb +1 -1
  427. data/test/test_job_cn.rb +1 -1
  428. data/test/test_job_fr.rb +1 -1
  429. data/test/test_job_ja.rb +1 -1
  430. data/test/test_job_kr.rb +1 -1
  431. data/test/test_job_vn.rb +0 -1
  432. data/test/test_locale.rb +1 -1
  433. data/test/test_lorem.rb +1 -1
  434. data/test/test_lorem_ar.rb +2 -3
  435. data/test/test_lorem_cn.rb +1 -1
  436. data/test/test_lorem_fr.rb +5 -5
  437. data/test/test_lorem_ie.rb +2 -3
  438. data/test/test_lorem_ja.rb +1 -1
  439. data/test/test_lorem_kr.rb +4 -4
  440. data/test/test_lorem_pl.rb +2 -3
  441. data/test/test_lorem_ru.rb +3 -4
  442. data/test/test_lorem_ua.rb +4 -4
  443. data/test/test_module_utils.rb +1 -1
  444. data/test/test_movie.rb +1 -1
  445. data/test/test_music.rb +2 -2
  446. data/test/test_name.rb +6 -2
  447. data/test/test_name_ar.rb +0 -1
  448. data/test/test_name_br.rb +1 -1
  449. data/test/test_name_cn.rb +1 -1
  450. data/test/test_name_cs.rb +2 -3
  451. data/test/test_name_da.rb +2 -2
  452. data/test/test_name_de.rb +1 -1
  453. data/test/test_name_es.rb +0 -1
  454. data/test/test_name_fr.rb +1 -2
  455. data/test/test_name_ga.rb +1 -1
  456. data/test/test_name_gr.rb +1 -1
  457. data/test/test_name_id.rb +0 -1
  458. data/test/test_name_it.rb +1 -2
  459. data/test/test_name_ja.rb +1 -1
  460. data/test/test_name_kh.rb +9 -7
  461. data/test/test_name_kr.rb +1 -1
  462. data/test/test_name_mx.rb +1 -2
  463. data/test/test_name_nb.rb +1 -1
  464. data/test/test_name_nl.rb +1 -1
  465. data/test/test_name_ph.rb +2 -2
  466. data/test/test_name_pl.rb +0 -1
  467. data/test/test_name_ru.rb +4 -4
  468. data/test/test_name_se.rb +1 -1
  469. data/test/test_name_sn.rb +1 -2
  470. data/test/test_name_th.rb +1 -1
  471. data/test/test_name_th_en.rb +1 -1
  472. data/test/test_name_tw.rb +0 -1
  473. data/test/test_name_ua.rb +3 -3
  474. data/test/test_name_vn.rb +1 -1
  475. data/test/test_nato_alphabet.rb +1 -1
  476. data/test/test_phone_number.rb +1 -1
  477. data/test/test_phone_number_au.rb +4 -5
  478. data/test/test_phone_number_br.rb +2 -4
  479. data/test/test_phone_number_cu.rb +4 -11
  480. data/test/test_phone_number_da.rb +1 -2
  481. data/test/test_phone_number_de.rb +1 -2
  482. data/test/test_phone_number_fr.rb +0 -1
  483. data/test/test_phone_number_id.rb +0 -1
  484. data/test/test_phone_number_kr.rb +1 -1
  485. data/test/test_phone_number_mx.rb +1 -2
  486. data/test/test_phone_number_nl.rb +1 -2
  487. data/test/test_phone_number_pl.rb +1 -1
  488. data/test/test_phone_number_ru.rb +76 -0
  489. data/test/test_phone_number_se.rb +2 -2
  490. data/test/test_phone_number_sg.rb +1 -1
  491. data/test/test_phone_number_sn.rb +3 -4
  492. data/test/test_phone_number_tw.rb +0 -1
  493. data/test/test_phone_number_ua.rb +38 -0
  494. data/test/test_products.rb +1 -1
  495. data/test/test_sem_ver.rb +18 -0
  496. data/test/test_skill.rb +1 -1
  497. data/test/test_sport_us.rb +0 -1
  498. data/test/test_sports.rb +1 -1
  499. data/test/test_ssn.rb +1 -1
  500. data/test/test_ssn_mx.rb +1 -2
  501. data/test/test_ssn_se.rb +4 -4
  502. data/test/test_string.rb +4 -4
  503. data/test/test_time.rb +1 -1
  504. data/test/test_tweet.rb +1 -1
  505. data/test/test_unique_utils.rb +1 -1
  506. data/test/test_units.rb +1 -2
  507. data/test/test_units_english.rb +1 -2
  508. data/test/test_units_metric.rb +1 -2
  509. data/test/test_vehicle.rb +1 -1
  510. data/test/test_venue.rb +1 -1
  511. data/test/test_youtube.rb +1 -1
  512. metadata +63 -5
@@ -1,7 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
- # Author Guapolo <github.com/guapolo>
5
4
  module SSNMX
6
5
  extend ModuleUtils
7
6
  extend self
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'date'
4
4
 
@@ -26,8 +26,8 @@ module FFaker
26
26
  GENDERS = %w[female male].freeze
27
27
 
28
28
  def ssn(opts = {})
29
- from = opts[:from] || ::Time.local(1940, 1, 1)
30
- to = opts[:to] || ::Time.now
29
+ from = opts[:from] || ::Time.local(1940, 1, 1)
30
+ to = opts[:to] || ::Time.now
31
31
  gender = (opts[:gender] || fetch_sample(GENDERS)).to_s
32
32
 
33
33
  raise_error_on_bad_arguments(from, to, gender)
@@ -39,11 +39,11 @@ module FFaker
39
39
 
40
40
  def generate_ssn(from, to, gender)
41
41
  birth_date = random_birth_time_between(from, to)
42
- birth_date_str = birth_date.strftime('%Y%m%d') # "19800228"
43
- region = get_random_region_for(gender) # "413"
44
- ssn_without_check_digit = birth_date_str + region # "19800228413"
45
- check_digit = luhn_check(ssn_without_check_digit) # "9"
46
- ssn_without_check_digit + check_digit # "198002284139"
42
+ birth_date_str = birth_date.strftime('%Y%m%d') # "19800228"
43
+ region = random_region_for(gender) # "413"
44
+ ssn_without_check_digit = birth_date_str + region # "19800228413"
45
+ check_digit = luhn_check(ssn_without_check_digit) # "9"
46
+ ssn_without_check_digit + check_digit # "198002284139"
47
47
  end
48
48
 
49
49
  def raise_error_on_bad_arguments(from, to, gender)
@@ -57,19 +57,19 @@ module FFaker
57
57
  ::Time.at(from + rand * (to.to_f - from.to_f))
58
58
  end
59
59
 
60
- def get_random_region_for(gender)
60
+ def random_region_for(gender)
61
61
  region_number = case gender
62
- when 'female' then get_random_region_even
63
- when 'male' then get_random_region_odd
64
- end
62
+ when 'female' then random_region_even
63
+ when 'male' then random_region_odd
64
+ end
65
65
  three_character_string(region_number)
66
66
  end
67
67
 
68
- def get_random_region_even
68
+ def random_region_even
69
69
  rand(0..498) * 2
70
70
  end
71
71
 
72
- def get_random_region_odd
72
+ def random_region_odd
73
73
  rand(0..498) * 2 + 1
74
74
  end
75
75
 
@@ -82,11 +82,7 @@ module FFaker
82
82
  multiplications = []
83
83
 
84
84
  number.split(//).each_with_index do |digit, i|
85
- multiplications << if i.even?
86
- digit.to_i * 2
87
- else
88
- digit.to_i
89
- end
85
+ multiplications << i.even? ? digit.to_i * 2 : digit.to_i
90
86
  end
91
87
 
92
88
  sum = 0
@@ -96,12 +92,7 @@ module FFaker
96
92
  end
97
93
  end
98
94
 
99
- control_digit = if sum % 10 == 0
100
- 0
101
- else
102
- (sum / 10 + 1) * 10 - sum
103
- end
104
-
95
+ control_digit = (sum % 10).zero? ? 0 : (sum / 10 + 1) * 10 - sum
105
96
  control_digit.to_s
106
97
  end
107
98
  end
@@ -1,12 +1,12 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module String
5
5
  extend ModuleUtils
6
6
  extend self
7
7
 
8
- BACKSLASH = '\\'.freeze
9
- DASH = '-'.freeze
8
+ BACKSLASH = '\\'
9
+ DASH = '-'
10
10
 
11
11
  LOWERS = [*'a'..'z'].freeze
12
12
  UPPERS = [*'A'..'Z'].freeze
@@ -17,7 +17,7 @@ module FFaker
17
17
  ESCAPEABLE_CHARS = ['\\', '/', '.', '(', ')', '[', ']', '{', '}'].freeze
18
18
 
19
19
  def from_regexp(exp)
20
- result = ''
20
+ result = +''
21
21
  @last_token = nil
22
22
 
23
23
  # Drop surrounding /'s and split into characters
@@ -59,9 +59,10 @@ module FFaker
59
59
  when '*' then
60
60
  tokens.unshift(token) if rand(0..1) == 1 # Leave the `*` on to run again
61
61
  return '' if rand(0..1) == 1 # Or maybe do nothing
62
+
62
63
  process_token(@last_token) # Else run the last one again
63
64
  when '{' then
64
- number = ''
65
+ number = +''
65
66
  while (ch = tokens.shift) != '}'
66
67
  number << ch
67
68
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'date'
4
4
 
@@ -7,7 +7,9 @@ module FFaker
7
7
  extend ModuleUtils
8
8
  extend self
9
9
 
10
- MONTHS = %w[January February March April May June July August September October November December].freeze
10
+ MONTHS = %w[
11
+ January February March April May June July August September October November December
12
+ ].freeze
11
13
  DAYS_OF_WEEK = %w[Monday Tuesday Wednesday Thursday Friday Saturday Sunday].freeze
12
14
 
13
15
  def month
@@ -27,13 +29,12 @@ module FFaker
27
29
  hours = params[:hours] || rand(0..23)
28
30
  minutes = params[:minutes] || rand(0..59)
29
31
  series = [date = ::DateTime.new(year, month, day, hours, minutes)]
30
- if params[:series]
31
- params[:series].each do |some_time_after|
32
- series << series.last + (rand * some_time_after).ceil
33
- end
34
- return series
32
+ return date unless params[:series]
33
+
34
+ params[:series].each do |some_time_after|
35
+ series << series.last + (rand * some_time_after).ceil
35
36
  end
36
- date
37
+ series
37
38
  end
38
39
 
39
40
  def date(params = {})
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Tweet
@@ -12,14 +12,14 @@ module FFaker
12
12
  # body_length: Target length (rand(20..140)) (will be <= target)
13
13
  def tweet(args = {})
14
14
  options = {
15
- num_hashtags: [0, rand(1..10) - 6].max,
16
- num_mentions: [0, rand(1..10) - 8].max,
15
+ num_hashtags: [0, rand(-5..4)].max,
16
+ num_mentions: [0, rand(-7..2)].max,
17
17
  reply: (rand(1..10) == 1),
18
18
  body_length: rand(20..140)
19
19
  }.merge(args)
20
20
 
21
21
  my_reply = options[:reply] ? "#{mention} " : ''
22
- my_mentions = options[:num_mentions] > 0 ? "#{mentions(options[:num_mentions])} " : ''
22
+ my_mentions = (options[:num_mentions]).positive? ? "#{mentions(options[:num_mentions])} " : ''
23
23
  my_tags = tags(options[:num_hashtags])
24
24
 
25
25
  remaining = [
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ostruct'
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/unit'
4
4
  require 'ostruct'
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/unit'
4
4
  require 'ostruct'
@@ -1,4 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffaker/utils/random_utils'
4
+
2
5
  module FFaker
3
6
  module ArrayUtils
4
7
  extend RandomUtils
@@ -9,9 +12,9 @@ module FFaker
9
12
  freeze_all(array)
10
13
  end
11
14
 
12
- def self.random_pick(array, n)
15
+ def self.random_pick(array, num)
13
16
  warn '[ArrayUtils.random_pick] is deprecated. Please use the ModuleUtils#fetch_sample method'
14
- fetch_sample(array, count: n)
17
+ fetch_sample(array, count: num)
15
18
  end
16
19
 
17
20
  def self.rand(array)
@@ -29,9 +32,9 @@ module FFaker
29
32
  array.sort_by { FFaker::Random.rand }
30
33
  end
31
34
 
32
- def random_pick(n)
35
+ def random_pick(num)
33
36
  warn '[ArrayUtils#random_pick] is deprecated. Please use the ModuleUtils#fetch_sample method'
34
- ArrayUtils.random_pick(self, n)
37
+ ArrayUtils.random_pick(self, num)
35
38
  end
36
39
 
37
40
  def rand
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffaker/utils/array_utils'
2
4
  require 'ffaker/utils/random_utils'
3
5
  require 'ffaker/utils/unique_utils'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FFaker
2
4
  # Methods for returning repeatably-random data using the internal
3
5
  # Random Number Generator. You should not need to use this directly, it is
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Vehicle
@@ -8,8 +8,9 @@ module FFaker
8
8
  DRIVETRAINS = %w[4WD 4X4 AWD FWD RWD].freeze
9
9
  YEARS = [*'1900'..(Date.today.year + 1).to_s].freeze
10
10
  COLOR_PREFIXES = k(%w[
11
- beautiful bright calm dangerous dark dull fast magnetic magnificent majestic melodic metallic
12
- mundane mute mysterious new pleasant pretty resonant royal slate soft tranquil vibrant weak
11
+ beautiful bright calm dangerous dark dull fast magnetic magnificent
12
+ majestic melodic metallic mundane mute mysterious new pleasant pretty
13
+ resonant royal slate soft tranquil vibrant weak
13
14
  ])
14
15
  TRANSMISSIONS_ABBR = %w[AT MT AM CVT].freeze
15
16
  CYLINDERS = %w[2 5 6 8].freeze
@@ -26,9 +27,9 @@ module FFaker
26
27
  fetch_sample(MAKES_LIST)
27
28
  end
28
29
 
29
- def manufacturer_color(n = 2)
30
+ def manufacturer_color(count = 2)
30
31
  # Take two prefixes because it's more fun than one
31
- (fetch_sample(COLOR_PREFIXES, count: n) + [base_color]).join(' ')
32
+ (fetch_sample(COLOR_PREFIXES, count: count) + [base_color]).join(' ')
32
33
  end
33
34
  alias mfg_color manufacturer_color
34
35
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Venue
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Youtube
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rubygems'
2
4
  require 'benchmark'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require File.dirname(__FILE__) + '/../lib/faker'
2
4
 
3
5
  N = 1_000_000
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  $LOAD_PATH << File.dirname(__FILE__) + '/../lib'
2
4
  require 'ffaker'
3
5
 
@@ -15,6 +17,7 @@ def faker_modules
15
17
  next if mod == FFaker::ModuleUtils
16
18
  next if mod == FFaker::RandomUtils
17
19
  next if mod == FFaker::Random
20
+
18
21
  mod
19
22
  end.compact
20
23
  end
@@ -59,7 +62,7 @@ sections = faker_modules.map do |mod|
59
62
  left = "`#{meth}`"
60
63
  right = ''
61
64
 
62
- if arity > 0
65
+ if arity.positive?
63
66
  left = "`#{meth}`(#{Array.new(arity) { '...' }.join(', ')})"
64
67
  else
65
68
  begin
@@ -71,7 +74,7 @@ sections = faker_modules.map do |mod|
71
74
  else
72
75
  (escape examples.join(', ')).to_s
73
76
  end
74
- rescue => e
77
+ rescue StandardError => e
75
78
  right = "#{ICONS[:error]} #{e.class}: #{e.message}"
76
79
  end
77
80
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test/unit'
2
4
  require 'ffaker'
3
5
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'helper'
4
4
 
@@ -1,8 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'helper'
4
4
 
5
- # Author: wiseleyb<wiseleyb@gmail.com>
6
5
  class TestAddressAU < Test::Unit::TestCase
7
6
  include DeterministicHelper
8
7
 
@@ -12,9 +11,9 @@ class TestAddressAU < Test::Unit::TestCase
12
11
  )
13
12
 
14
13
  def test_au_state_abbr_insertion
15
- arr = FFaker::AddressAU::STATE_ABBR.sort
16
- assert arr = FFaker::AddressAU::SUBURB.keys.sort
17
- assert arr = FFaker::AddressAU::POSTCODE.keys.sort
14
+ FFaker::AddressAU::STATE_ABBR.sort
15
+ assert FFaker::AddressAU::SUBURB.keys.sort
16
+ assert FFaker::AddressAU::POSTCODE.keys.sort
18
17
  end
19
18
 
20
19
  def test_au_state
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'helper'
4
4
 
@@ -1,13 +1,12 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'helper'
4
4
 
5
- # Test features related to Finnish addresses
6
5
  class TestAddressFI < Test::Unit::TestCase
7
6
  include DeterministicHelper
8
7
 
9
- ALPHA = /\A[\p{Alpha}]+/
10
- DIGIT = /\d{1}/
8
+ ALPHA = /\A[\p{Alpha}]+/.freeze
9
+ DIGIT = /\d{1}/.freeze
11
10
 
12
11
  assert_methods_are_deterministic(
13
12
  FFaker::AddressFI,