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,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/address'
4
4
 
@@ -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
  # TERYT registry, available at: http://www.stat.gov.pl/broker/access/index.jspa
8
6
  module AddressPL
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/address'
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/address'
4
4
 
@@ -1,9 +1,8 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/address'
4
4
 
5
5
  module FFaker
6
- # Author PapePathe<pathe.sene@gmail.com> github.com/PapePathe
7
6
  module AddressSN
8
7
  include FFaker::Address
9
8
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/address'
4
4
 
@@ -32,7 +32,7 @@ module FFaker
32
32
  end
33
33
 
34
34
  def street_address(include_secondary = false)
35
- str = "#{street_name}, #{building_number}"
35
+ str = +"#{street_name}, #{building_number}"
36
36
  str << ", кв. #{appartment_number}" if include_secondary
37
37
  str
38
38
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/address'
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/address'
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Airline
@@ -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://www.ekologia.pl/wiedza/zwierzeta/
8
6
  module AnimalPL
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Animal
@@ -1,4 +1,3 @@
1
- # encoding: utf-8
2
1
  # frozen_string_literal: true
3
2
 
4
3
  module FFaker
@@ -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 Avatar
@@ -8,11 +8,29 @@ module FFaker
8
8
  SUPPORTED_FORMATS = %w[png jpg bmp].freeze
9
9
 
10
10
  def image(slug = nil, size = '300x300', format = 'png', bgset = nil)
11
- raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
12
- raise ArgumentError, "Supported formats are #{SUPPORTED_FORMATS.join(', ')}" unless SUPPORTED_FORMATS.include?(format)
13
- raise ArgumentError, 'Not a supported background number. Choose eather 1 or 2' unless bgset.nil? || (1..2).cover?(bgset.to_i)
11
+ check_passed_params(size, format, bgset)
14
12
  slug ||= FFaker::Lorem.words.join
15
- "https://robohash.org/#{slug}.#{format}?size=#{size}#{'&bgset=bg' + bgset.to_s unless bgset.nil?}"
13
+ "https://robohash.org/#{slug}.#{format}?size=#{size}#{'&bgset=bg' + bgset.to_s if bgset}"
14
+ end
15
+
16
+ private
17
+
18
+ def check_passed_params(size, format, bgset)
19
+ invalid_size_error unless size =~ /^[0-9]+x[0-9]+$/
20
+ invalid_format_error unless SUPPORTED_FORMATS.include?(format)
21
+ invalid_background_number unless bgset.nil? || (1..2).cover?(bgset.to_i)
22
+ end
23
+
24
+ def invalid_size_error
25
+ raise ArgumentError, 'Size should be specified in format 300x300'
26
+ end
27
+
28
+ def invalid_format_error
29
+ raise ArgumentError, "Supported formats are #{SUPPORTED_FORMATS.join(', ')}"
30
+ end
31
+
32
+ def invalid_background_number
33
+ raise ArgumentError, 'Not a supported background number. Choose eather 1 or 2'
16
34
  end
17
35
  end
18
36
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module AWS
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/lorem'
4
4
 
@@ -0,0 +1,106 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ module Bank
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ COUNTRIES = {
9
+ 'AA' => 'AL##########################', # Albania
10
+ 'AD' => 'AD######################', # Andorra
11
+ 'AT' => 'AT##################', # Austria
12
+ 'AZ' => 'AZ##????####################', # Azerbaijan
13
+ 'BH' => 'BH##????##############', # Bahrain
14
+ 'BY' => 'BY##????####################', # Belarus
15
+ 'BE' => 'BE##############', # Belgium
16
+ 'BA' => 'BA##################', # Bosnia and Herzegovina
17
+ 'BR' => 'BR#########################P#', # Brazil
18
+ 'BG' => 'BG##????##############', # Bulgaria
19
+ 'CR' => 'CR####################', # Costa Rica
20
+ 'HR' => 'HR###################', # Croatia
21
+ 'CY' => 'CY##########################', # Cyprus
22
+ 'CZ' => 'CZ######################', # Czech Republic
23
+ 'DK' => 'DK################', # Denmark
24
+ 'DO' => 'DO##????####################', # Dominican Republic
25
+ 'SV' => 'SV##????####################', # El Salvador
26
+ 'EE' => 'EE##################', # Estonia
27
+ 'FO' => 'FO################', # Faroe Islands
28
+ 'FI' => 'FI################', # Finland
29
+ 'FR' => 'FR#########################', # France
30
+ 'GE' => 'GE##??################', # Georgia
31
+ 'DE' => 'DE####################', # Germany
32
+ 'GI' => 'GI##????###############', # Gibraltar
33
+ 'GR' => 'GR#########################', # Greece
34
+ 'GL' => 'GL################', # Greenland
35
+ 'GT' => 'GT##AGRO####################', # Guatemala
36
+ 'VA' => 'VA####################', # Holy See
37
+ 'HU' => 'HU##########################', # Hungary
38
+ 'IS' => 'IS########################', # Iceland
39
+ 'IQ' => 'IQ##????###############', # Iraq
40
+ 'IE' => 'IE##????##############', # Ireland
41
+ 'IL' => 'IL#####################', # Israel
42
+ 'IT' => 'IT##X######################', # Italy
43
+ 'JO' => 'JO##????######################', # Jordan
44
+ 'KZ' => 'KZ##################', # Kazakhstan
45
+ 'XK' => 'XK##################', # Kosovo
46
+ 'KW' => 'KW##????######################', # Kuwait
47
+ 'LV' => 'LV##????#############', # Latvia
48
+ 'LB' => 'LB##########################', # Lebanon
49
+ 'LI' => 'LI###################', # Liechtenstein
50
+ 'LT' => 'LT##################', # Lithuania
51
+ 'LU' => 'LU##################', # Luxembourg
52
+ 'MT' => 'MT##MALT#######################', # Malta
53
+ 'MR' => 'MR#########################', # Mauritania
54
+ 'MU' => 'MU##????###################MUR', # Mauritius
55
+ 'MD' => 'MD##??##################', # Moldova
56
+ 'MC' => 'MC#########################', # Monaco
57
+ 'ME' => 'ME####################', # Montenegro
58
+ 'NL' => 'NL##????##########', # Netherlands
59
+ 'MK' => 'MK#################', # North Macedonia
60
+ 'NO' => 'NO#############', # Norway
61
+ 'PK' => 'PK##????################', # Pakistan
62
+ 'PS' => 'PS##PALS#####################', # Palestine
63
+ 'PL' => 'PL##########################', # Poland
64
+ 'PT' => 'PT#######################', # Portugal
65
+ 'QA' => 'QA##????#####################', # Qatar
66
+ 'RO' => 'RO##????################', # Romania
67
+ 'LC' => 'LC##????########################', # Saint Lucia
68
+ 'SM' => 'SM##P######################', # San Marino
69
+ 'ST' => 'ST#######################', # Sao Tome and Principe
70
+ 'SA' => 'SA######################', # Saudi Arabia
71
+ 'RS' => 'RS####################', # Serbia
72
+ 'SC' => 'SC##????####################USD', # Seychelles
73
+ 'SK' => 'SK######################', # Slovak Republic
74
+ 'SI' => 'SI#################', # Slovenia
75
+ 'ES' => 'ES######################', # Spain
76
+ 'SE' => 'SE######################', # Sweden
77
+ 'CH' => 'CH###################', # Switzerland
78
+ 'TL' => 'TL#####################', # Timor-Leste
79
+ 'TN' => 'TN######################', # Tunisia
80
+ 'TR' => 'TR########################', # Turkey
81
+ 'UA' => 'UA###########################', # Ukraine
82
+ 'AE' => 'AE#####################', # United Arab Emirates
83
+ 'GB' => 'GB##????##############', # United Kingdom
84
+ 'VG' => 'VG##????################' # Virgin Islands, British
85
+ }.freeze
86
+
87
+ def iban(country_code: nil)
88
+ return formatify_iban(fetch_sample(COUNTRIES.values)) unless country_code
89
+
90
+ check_country_existence(country_code)
91
+ formatify_iban(COUNTRIES[country_code.upcase])
92
+ end
93
+
94
+ private
95
+
96
+ def formatify_iban(code)
97
+ FFaker.bothify(code).upcase
98
+ end
99
+
100
+ def check_country_existence(country_code)
101
+ unless COUNTRIES.keys.include?(country_code.upcase)
102
+ raise ArgumentError, "Unexpected country code: '#{country_code}'"
103
+ end
104
+ end
105
+ end
106
+ end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Book
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Boolean
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module CheesyLingo
@@ -31,11 +31,8 @@ module FFaker
31
31
  end
32
32
 
33
33
  def paragraph(number_of_phrases = 10)
34
- p = fetch_sample(CHEESY_PHRASES).capitalize.to_s
35
- (number_of_phrases - 1).times do |s|
36
- s = " #{fetch_sample(CHEESY_PHRASES)}"
37
- p << s
38
- end
34
+ p = +fetch_sample(CHEESY_PHRASES).capitalize
35
+ (number_of_phrases - 1).times { p << " #{fetch_sample(CHEESY_PHRASES)}" }
39
36
  p << '.'
40
37
  end
41
38
  end
@@ -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 Color
@@ -18,15 +18,15 @@ module FFaker
18
18
  end
19
19
 
20
20
  def rgb_list
21
- "#{random_rgb_value},#{random_rgb_value},#{random_rgb_value}"
21
+ rgb_array.join(',')
22
22
  end
23
23
 
24
24
  def rgba_array
25
- [random_rgb_value, random_rgb_value, random_rgb_value, random_opacity_value]
25
+ rgb_array << random_opacity_value
26
26
  end
27
27
 
28
28
  def rgba_list
29
- "#{random_rgb_value},#{random_rgb_value},#{random_rgb_value},#{random_opacity_value}"
29
+ rgba_array.join(',')
30
30
  end
31
31
 
32
32
  def hsl_array
@@ -34,15 +34,15 @@ module FFaker
34
34
  end
35
35
 
36
36
  def hsl_list
37
- "#{random_hue_value},#{random_percentage_string},#{random_percentage_string}"
37
+ hsl_array.join(',')
38
38
  end
39
39
 
40
40
  def hsla_array
41
- [random_hue_value, random_percentage_string, random_percentage_string, random_opacity_value]
41
+ hsl_array << random_opacity_value
42
42
  end
43
43
 
44
44
  def hsla_list
45
- "#{random_hue_value},#{random_percentage_string},#{random_percentage_string},#{random_opacity_value}"
45
+ hsla_array.join(',')
46
46
  end
47
47
 
48
48
  private
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module ColorUA
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Company
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module CompanyCN
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module CompanyIT
@@ -33,7 +33,9 @@ module FFaker
33
33
  base = matricola + office_code.chars.map(&:to_i)
34
34
 
35
35
  # Thanks https://stackoverflow.com/a/9189731/1627766
36
- sum = base.reverse.each_slice(2).flat_map { |x, y| [(x * 2).divmod(10), y || 0] }.flatten.reduce(:+)
36
+ sum = base.reverse.each_slice(2).flat_map do |x, y = 0|
37
+ [(x * 2).divmod(10), y]
38
+ end.flatten.sum
37
39
 
38
40
  control_digit = (10 - (sum % 10)) % 10
39
41
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module CompanySE
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Conference
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module CoursesFR
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Currency
@@ -16,4 +16,4 @@ mouth
16
16
  fort
17
17
  haven
18
18
  side
19
- shire
19
+ shire
@@ -246,4 +246,4 @@ Wallis and Futuna
246
246
  Western Sahara
247
247
  Yemen
248
248
  Zambia
249
- Zimbabwe
249
+ Zimbabwe
@@ -246,4 +246,4 @@ WF
246
246
  EH
247
247
  YE
248
248
  ZM
249
- ZW
249
+ ZW
@@ -46,4 +46,4 @@ South of Lake Shore Blvd
46
46
  Gates Mills North
47
47
  White Oak South of Columbia Pike
48
48
  Rockville East of Hungerford Dr
49
- Cleveland Park
49
+ Cleveland Park
@@ -192,4 +192,4 @@ Wall
192
192
  Way
193
193
  Ways
194
194
  Well
195
- Wells
195
+ Wells