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/lorem'
4
4
 
@@ -1,11 +1,14 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Education
5
5
  extend ModuleUtils
6
6
  extend self
7
7
 
8
- MAJOR_ADJ = %w[Business Systems Industrial Medical Financial Marketing Political Social] + ['Human Resource']
8
+ MAJOR_ADJ = [
9
+ 'Business', 'Systems', 'Industrial', 'Medical', 'Financial', 'Marketing', 'Political',
10
+ 'Social', 'Human Resource'
11
+ ].freeze
9
12
  SCHOOL_PREFIX = %w[Green South North Wind Lake Hill Lark River Red White].freeze
10
13
  SCHOOL_ADJ = %w[International Global Polytechnic National].freeze
11
14
  SCHOOL_TYPE = %w[School University College Institution Academy].freeze
@@ -1,11 +1,10 @@
1
- # encoding: utf-8
2
1
  # frozen_string_literal: true
3
2
 
4
3
  module FFaker
5
4
  module EducationCN
6
5
  extend ModuleUtils
7
6
  extend self
8
-
7
+
9
8
  DEGREE_PREFIX = %w[哲学 经济学 法学 教育学 文学 历史学 理学 工学 农学 医学].freeze
10
9
  DEGREE_SUFFIX = %w[学士 硕士 博士].freeze
11
10
  POSITION = %w[华南 华北 华东 华中 西南 西北 东北 东南 中国].freeze
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Filesystem
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FFaker
2
4
  module Food
3
5
  extend ModuleUtils
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Gender
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module GenderBR
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module GenderCN
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # encoding: utf-8
3
2
 
4
3
  module FFaker
5
4
  module GenderID
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ # https://ja.wikipedia.org/wiki/%E6%80%A7_(%E7%94%9F%E7%89%A9%E5%AD%A6)
5
+ module GenderJA
6
+ extend ModuleUtils
7
+ extend self
8
+
9
+ GENDERS = %w[女 男].freeze
10
+
11
+ def random
12
+ fetch_sample(GENDERS)
13
+ end
14
+
15
+ alias maybe random
16
+ alias sample random
17
+ end
18
+ end
@@ -1,21 +1,11 @@
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://ja.wikipedia.org/wiki/%E6%80%A7_(%E7%94%9F%E7%89%A9%E5%AD%A6)
8
6
  module GenderJP
9
7
  extend ModuleUtils
10
- extend self
11
-
12
- GENDERS = %w[女 男].freeze
13
-
14
- def random
15
- fetch_sample(GENDERS)
16
- end
17
-
18
- alias maybe random
19
- alias sample random
8
+ extend GenderJA
9
+ include GenderJA
20
10
  end
21
11
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module GenderKR
@@ -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.wikipedia.org/wiki/P%C5%82e%C4%87
8
6
  module GenderPL
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Geolocation
@@ -14,27 +14,37 @@ module FFaker
14
14
  end
15
15
 
16
16
  LATLNG = [
17
- [41.022921, -73.667595], [41.017643, -73.769264], [40.89505, -73.83582], [41.018461, -73.66616],
18
- [40.6665875097692, -73.8830092325694], [40.6784867492198, -73.9716387729985], [40.5998084142575, -73.9385565185842],
19
- [40.6175673160943, -74.0002511295821], [40.7451545655034, -73.971855164776], [40.7143394939935, -73.9783896644132],
20
- [40.7916523500249, -73.9693478828185], [40.8005590858048, -73.9473684707957], [40.7292057951864, -73.7555431517841],
21
- [40.7532199291845, -73.8842977517553], [40.7490546706085, -73.9187706945134], [40.6609944585817, -73.8454648940358],
22
- [38.9962071932467, -77.0898681997577], [38.9614005154765, -77.0739996811784], [38.9381545320739, -77.0656875352079],
23
- [39.0788984258721, -77.0500853418371], [40.8377346033077, -73.8618025934729], [40.8377346033077, -73.8618025934729],
24
- [40.8831107806302, -73.9212453413708], [40.9077802515069, -73.9025768857695], [36.1936372347, -115.068968492],
25
- [36.2345447488, -115.327274645], [36.1257785585, -115.08848819], [36.0150030591, -115.120716573], [41.5205, -81.587],
26
- [41.491529, -81.611008], [41.4811, -81.9136], [41.5244, -81.5531], [38.5241394042969, -90.3121643066406],
27
- [38.4685363769531, -90.3760452270508], [38.7077140808105, -90.2698593139648], [38.7953453063965, -90.2058792114258],
28
- [33.5775667696072, -112.21954995412], [33.4136301699617, -112.605812600303], [33.3732084677927, -111.602125919385],
29
- [33.4280828890754, -112.496547310057], [40.0677174866262, -75.0764604391247], [39.9760149034563, -75.1786003814711],
30
- [39.9871631180866, -75.1862338204704], [39.9847861520773, -75.110396933127], [26.1180992126465, -80.149299621582],
31
- [25.4804286236799, -80.4256357381565], [26.1793003082275, -80.1410980224609], [26.5322723388672, -80.1300048828125],
32
- [47.685714288367, -122.340967372417], [47.6993431274679, -122.395610510952], [47.7553943974153, -122.305764516646],
33
- [47.5173276931226, -122.275152683751], [40.78595, -73.196244], [40.927955, -73.048076], [41.022872, -72.204989],
34
- [40.855153, -72.572405], [34.101011924908, -118.064638782714], [34.2430955947492, -118.427610513239],
35
- [34.3823767402857, -118.550562688364], [33.8256050190507, -118.281161297494], [37.5758033375583, -122.012044535507],
36
- [37.8768587606888, -122.078250641083], [37.6859990796181, -122.094516147761], [37.4660979087165, -121.900873639257],
37
- [41.77117, -87.888795], [41.900425, -87.624262], [41.737173, -87.869998]
17
+ [41.022921, -73.667595], [41.017643, -73.769264], [40.89505, -73.83582],
18
+ [41.018461, -73.66616], [40.6665875097692, -73.8830092325694],
19
+ [40.6784867492198, -73.9716387729985], [40.5998084142575, -73.9385565185842],
20
+ [40.6175673160943, -74.0002511295821], [40.7451545655034, -73.971855164776],
21
+ [40.7143394939935, -73.9783896644132], [40.7916523500249, -73.9693478828185],
22
+ [40.8005590858048, -73.9473684707957], [40.7292057951864, -73.7555431517841],
23
+ [40.7532199291845, -73.8842977517553], [40.7490546706085, -73.9187706945134],
24
+ [40.6609944585817, -73.8454648940358], [38.9962071932467, -77.0898681997577],
25
+ [38.9614005154765, -77.0739996811784], [38.9381545320739, -77.0656875352079],
26
+ [39.0788984258721, -77.0500853418371], [40.8377346033077, -73.8618025934729],
27
+ [40.8377346033077, -73.8618025934729], [40.8831107806302, -73.9212453413708],
28
+ [40.9077802515069, -73.9025768857695], [36.1936372347, -115.068968492],
29
+ [36.2345447488, -115.327274645], [36.1257785585, -115.08848819],
30
+ [36.0150030591, -115.120716573], [41.5205, -81.587], [41.491529, -81.611008],
31
+ [41.4811, -81.9136], [41.5244, -81.5531], [38.5241394042969, -90.3121643066406],
32
+ [38.4685363769531, -90.3760452270508], [38.7077140808105, -90.2698593139648],
33
+ [38.7953453063965, -90.2058792114258], [33.5775667696072, -112.21954995412],
34
+ [33.4136301699617, -112.605812600303], [33.3732084677927, -111.602125919385],
35
+ [33.4280828890754, -112.496547310057], [40.0677174866262, -75.0764604391247],
36
+ [39.9760149034563, -75.1786003814711], [39.9871631180866, -75.1862338204704],
37
+ [39.9847861520773, -75.110396933127], [26.1180992126465, -80.149299621582],
38
+ [25.4804286236799, -80.4256357381565], [26.1793003082275, -80.1410980224609],
39
+ [26.5322723388672, -80.1300048828125], [47.685714288367, -122.340967372417],
40
+ [47.6993431274679, -122.395610510952], [47.7553943974153, -122.305764516646],
41
+ [47.5173276931226, -122.275152683751], [40.78595, -73.196244], [40.927955, -73.048076],
42
+ [41.022872, -72.204989], [40.855153, -72.572405], [34.101011924908, -118.064638782714],
43
+ [34.2430955947492, -118.427610513239], [34.3823767402857, -118.550562688364],
44
+ [33.8256050190507, -118.281161297494], [37.5758033375583, -122.012044535507],
45
+ [37.8768587606888, -122.078250641083], [37.6859990796181, -122.094516147761],
46
+ [37.4660979087165, -121.900873639257], [41.77117, -87.888795], [41.900425, -87.624262],
47
+ [41.737173, -87.869998]
38
48
  ].freeze
39
49
 
40
50
  def boxed_coords(upper_left, lower_right)
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Guid
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/lorem'
4
4
 
@@ -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
  require 'ffaker/lorem'
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  # Loosely based on http://html-ipsum.com/
@@ -146,11 +146,11 @@ module FFaker
146
146
  element_content = if content
147
147
  content
148
148
  else
149
- block_html = ''
149
+ block_html = +''
150
150
  yield(block_html)
151
151
  block_html
152
152
  end
153
- "<#{element}>#{element_content}</#{element}>"
153
+ +"<#{element}>#{element_content}</#{element}>"
154
154
  end
155
155
 
156
156
  def word
@@ -1,11 +1,14 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module Identification
5
5
  extend ModuleUtils
6
6
  extend self
7
7
 
8
- ETHNICITIES = ['African American', 'Asian/Pacific Islander', 'Caucasian', 'Hispanic', 'Native American', 'Multiracial', 'Other', 'Prefer not to respond'].freeze
8
+ ETHNICITIES = [
9
+ 'African American', 'Asian/Pacific Islander', 'Caucasian', 'Hispanic', 'Native American',
10
+ 'Multiracial', 'Other', 'Prefer not to respond'
11
+ ].freeze
9
12
  GENDERS = %w[Male Female].freeze
10
13
 
11
14
  def drivers_license
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module IdentificationBR
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module IdentificationES
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/identification_es'
4
4
 
@@ -11,7 +11,8 @@ module FFaker
11
11
  # RUT is the Chilean ID, followed by format: XX.XXX.XXX - Y
12
12
  # http://es.wikipedia.org/wiki/Rol_%C3%9Anico_Tributario
13
13
  #
14
- # The last Y is a modulo 11 validation code. In the case the result is 10, it will be replaced by a 'K' character
14
+ # The last Y is a modulo 11 validation code. In the case the result is 10, it will be
15
+ # replaced by a 'K' character
15
16
  def rut
16
17
  # Rut is gonna be between 1.000.000 and 24.999.999
17
18
  n = rand(1_000_000...25_000_000)
@@ -21,7 +22,9 @@ module FFaker
21
22
  private
22
23
 
23
24
  def dv(rut)
24
- total = rut.to_s.rjust(8, '0').split(//).zip(%w[3 2 7 6 5 4 3 2]).collect { |a, b| a.to_i * b.to_i }.inject(:+)
25
+ total = rut.to_s.rjust(8, '0').split(//).zip(%w[3 2 7 6 5 4 3 2]).sum do |a, b|
26
+ a.to_i * b.to_i
27
+ end
25
28
  (11 - total % 11).to_s.gsub(/10/, 'k').gsub(/11/, '0')
26
29
  end
27
30
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/identification_es'
4
4
  require 'date'
@@ -27,7 +27,7 @@ module FFaker
27
27
  "#{category}#{num}"
28
28
  end
29
29
 
30
- def blood_type # RH
30
+ def blood_type
31
31
  sign = fetch_sample(%w[+ -])
32
32
  "#{fetch_sample(BLOOD_TYPE)}#{sign}"
33
33
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
4
  module IdentificationKr
@@ -1,10 +1,9 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'ffaker/identification_es'
4
4
 
5
5
  module FFaker
6
6
  module IdentificationMX
7
- # Author Guapolo <github.com/guapolo>
8
7
  extend ModuleUtils
9
8
  extend self
10
9
 
@@ -16,12 +15,10 @@ module FFaker
16
15
  # Registro Federal de Contribuyentes (R.F.C.) para persona física
17
16
  def rfc_persona_fisica
18
17
  consonants_n = CONSONANTS + ['Ñ']
19
- all_letters = consonants_n + VOWELS
20
- date = ::Time.at(rand * ::Time.now.to_f).strftime('%y%m%d')
21
18
  [
22
19
  fetch_sample(consonants_n),
23
20
  fetch_sample(VOWELS),
24
- fetch_sample(all_letters, count: 2).join,
21
+ fetch_sample(consonants_n + VOWELS, count: 2).join,
25
22
  date,
26
23
  fetch_sample(HOMOCLAVE, count: 3).join
27
24
  ].join
@@ -32,8 +29,7 @@ module FFaker
32
29
  def rfc_persona_moral
33
30
  consonants_n_amp = CONSONANTS + ['Ñ', '&']
34
31
  all_letters = consonants_n_amp + VOWELS
35
- date = ::Time.at(rand * ::Time.now.to_f).strftime('%y%m%d')
36
- "#{fetch_sample(all_letters, count: 3).join}#{date}#{fetch_sample(HOMOCLAVE, count: 3).join}"
32
+ [fetch_sample(all_letters, count: 3), date, fetch_sample(HOMOCLAVE, count: 3)].flatten.join
37
33
  end
38
34
 
39
35
  # http://es.wikipedia.org/wiki/Registro_Federal_de_Contribuyentes_(M%C3%A9xico)
@@ -47,18 +43,18 @@ module FFaker
47
43
  def curp
48
44
  all_letters = CONSONANTS + VOWELS
49
45
  hm = %w[H M]
50
- date = ::Time.at(rand * ::Time.now.to_f).strftime('%y%m%d')
51
46
  [
52
- fetch_sample(CONSONANTS),
53
- fetch_sample(VOWELS),
54
- fetch_sample(all_letters, count: 2).join,
55
- date,
56
- fetch_sample(hm),
57
- fetch_sample(ESTADOS_CURP),
58
- fetch_sample(CONSONANTS, count: 3).join,
59
- fetch_sample(HOMOCLAVE),
60
- rand(0..9)
47
+ fetch_sample(CONSONANTS), fetch_sample(VOWELS),
48
+ fetch_sample(all_letters, count: 2).join, date, fetch_sample(hm),
49
+ fetch_sample(ESTADOS_CURP), fetch_sample(CONSONANTS, count: 3).join,
50
+ fetch_sample(HOMOCLAVE), rand(0..9)
61
51
  ].join
62
52
  end
53
+
54
+ private
55
+
56
+ def date
57
+ ::Time.at(rand * ::Time.now.to_f).strftime('%y%m%d')
58
+ end
63
59
  end
64
60
  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,36 @@ 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
+ [Name.first_name, Name.last_name].join(fetch_sample(%w[. _])).downcase
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
50
  dw = Company.name.split(' ').first
54
51
  dw.gsub!(/\W/, '')
55
- dw.downcase!
56
- dw
52
+ dw.downcase
57
53
  end
58
54
 
59
55
  def domain_suffix
@@ -61,7 +57,7 @@ module FFaker
61
57
  end
62
58
 
63
59
  def uri(protocol)
64
- "#{protocol}://#{domain_name}"
60
+ [protocol, domain_name].join('://')
65
61
  end
66
62
 
67
63
  def http_url
@@ -79,8 +75,7 @@ module FFaker
79
75
  end
80
76
 
81
77
  def password(min_length = 8, max_length = 16)
82
- length =
83
- min_length > max_length ? min_length : fetch_sample([*min_length..max_length])
78
+ length = min_length > max_length ? min_length : fetch_sample([*min_length..max_length])
84
79
  String.from_regexp(/\w{#{length}}/)
85
80
  end
86
81