mini-fast-rb 0.0.1

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 (784) hide show
  1. checksums.yaml +7 -0
  2. data/ffaker-2.25.0/Changelog.md +558 -0
  3. data/ffaker-2.25.0/Gemfile +19 -0
  4. data/ffaker-2.25.0/LICENSE +21 -0
  5. data/ffaker-2.25.0/RANDOM.md +153 -0
  6. data/ffaker-2.25.0/README.md +125 -0
  7. data/ffaker-2.25.0/REFERENCE.md +2735 -0
  8. data/ffaker-2.25.0/Rakefile +121 -0
  9. data/ffaker-2.25.0/bin/console +9 -0
  10. data/ffaker-2.25.0/ffaker.gemspec +40 -0
  11. data/ffaker-2.25.0/lib/ffaker/address.rb +115 -0
  12. data/ffaker-2.25.0/lib/ffaker/address_au.rb +120 -0
  13. data/ffaker-2.25.0/lib/ffaker/address_br.rb +57 -0
  14. data/ffaker-2.25.0/lib/ffaker/address_ca.rb +32 -0
  15. data/ffaker-2.25.0/lib/ffaker/address_ch.rb +18 -0
  16. data/ffaker-2.25.0/lib/ffaker/address_ch_de.rb +14 -0
  17. data/ffaker-2.25.0/lib/ffaker/address_ch_fr.rb +14 -0
  18. data/ffaker-2.25.0/lib/ffaker/address_ch_it.rb +14 -0
  19. data/ffaker-2.25.0/lib/ffaker/address_da.rb +49 -0
  20. data/ffaker-2.25.0/lib/ffaker/address_de.rb +42 -0
  21. data/ffaker-2.25.0/lib/ffaker/address_fi.rb +44 -0
  22. data/ffaker-2.25.0/lib/ffaker/address_fr.rb +38 -0
  23. data/ffaker-2.25.0/lib/ffaker/address_gr.rb +38 -0
  24. data/ffaker-2.25.0/lib/ffaker/address_id.rb +36 -0
  25. data/ffaker-2.25.0/lib/ffaker/address_in.rb +56 -0
  26. data/ffaker-2.25.0/lib/ffaker/address_it.rb +33 -0
  27. data/ffaker-2.25.0/lib/ffaker/address_ja.rb +83 -0
  28. data/ffaker-2.25.0/lib/ffaker/address_kr.rb +87 -0
  29. data/ffaker-2.25.0/lib/ffaker/address_mx.rb +31 -0
  30. data/ffaker-2.25.0/lib/ffaker/address_nl.rb +43 -0
  31. data/ffaker-2.25.0/lib/ffaker/address_pl.rb +83 -0
  32. data/ffaker-2.25.0/lib/ffaker/address_ru.rb +37 -0
  33. data/ffaker-2.25.0/lib/ffaker/address_se.rb +44 -0
  34. data/ffaker-2.25.0/lib/ffaker/address_sn.rb +22 -0
  35. data/ffaker-2.25.0/lib/ffaker/address_ua.rb +56 -0
  36. data/ffaker-2.25.0/lib/ffaker/address_uk.rb +25 -0
  37. data/ffaker-2.25.0/lib/ffaker/address_us.rb +58 -0
  38. data/ffaker-2.25.0/lib/ffaker/airline.rb +16 -0
  39. data/ffaker-2.25.0/lib/ffaker/animal.rb +14 -0
  40. data/ffaker-2.25.0/lib/ffaker/animal_br.rb +12 -0
  41. data/ffaker-2.25.0/lib/ffaker/animal_cn.rb +12 -0
  42. data/ffaker-2.25.0/lib/ffaker/animal_es.rb +12 -0
  43. data/ffaker-2.25.0/lib/ffaker/animal_pl.rb +15 -0
  44. data/ffaker-2.25.0/lib/ffaker/animal_us.rb +12 -0
  45. data/ffaker-2.25.0/lib/ffaker/avatar.rb +44 -0
  46. data/ffaker-2.25.0/lib/ffaker/aws.rb +24 -0
  47. data/ffaker-2.25.0/lib/ffaker/bacon_ipsum.rb +19 -0
  48. data/ffaker-2.25.0/lib/ffaker/bank.rb +130 -0
  49. data/ffaker-2.25.0/lib/ffaker/bank_us.rb +37 -0
  50. data/ffaker-2.25.0/lib/ffaker/book.rb +64 -0
  51. data/ffaker-2.25.0/lib/ffaker/boolean.rb +22 -0
  52. data/ffaker-2.25.0/lib/ffaker/cheesy_lingo.rb +39 -0
  53. data/ffaker-2.25.0/lib/ffaker/code.rb +37 -0
  54. data/ffaker-2.25.0/lib/ffaker/color.rb +66 -0
  55. data/ffaker-2.25.0/lib/ffaker/color_pl.rb +14 -0
  56. data/ffaker-2.25.0/lib/ffaker/color_ua.rb +12 -0
  57. data/ffaker-2.25.0/lib/ffaker/company.rb +44 -0
  58. data/ffaker-2.25.0/lib/ffaker/company_cn.rb +23 -0
  59. data/ffaker-2.25.0/lib/ffaker/company_fr.rb +35 -0
  60. data/ffaker-2.25.0/lib/ffaker/company_it.rb +45 -0
  61. data/ffaker-2.25.0/lib/ffaker/company_ja.rb +24 -0
  62. data/ffaker-2.25.0/lib/ffaker/company_se.rb +23 -0
  63. data/ffaker-2.25.0/lib/ffaker/conference.rb +12 -0
  64. data/ffaker-2.25.0/lib/ffaker/courses_fr.rb +23 -0
  65. data/ffaker-2.25.0/lib/ffaker/crypto.rb +14 -0
  66. data/ffaker-2.25.0/lib/ffaker/currency.rb +20 -0
  67. data/ffaker-2.25.0/lib/ffaker/data/address/city_suffixes +19 -0
  68. data/ffaker-2.25.0/lib/ffaker/data/address/country +249 -0
  69. data/ffaker-2.25.0/lib/ffaker/data/address/country_code +249 -0
  70. data/ffaker-2.25.0/lib/ffaker/data/address/neighborhood +49 -0
  71. data/ffaker-2.25.0/lib/ffaker/data/address/street_suffix +195 -0
  72. data/ffaker-2.25.0/lib/ffaker/data/address/time_zone +130 -0
  73. data/ffaker-2.25.0/lib/ffaker/data/address_br/city +299 -0
  74. data/ffaker-2.25.0/lib/ffaker/data/address_br/complement +3 -0
  75. data/ffaker-2.25.0/lib/ffaker/data/address_br/neighborhood_prefixes +3 -0
  76. data/ffaker-2.25.0/lib/ffaker/data/address_br/state +27 -0
  77. data/ffaker-2.25.0/lib/ffaker/data/address_br/state_abbr +27 -0
  78. data/ffaker-2.25.0/lib/ffaker/data/address_ca/city +181 -0
  79. data/ffaker-2.25.0/lib/ffaker/data/address_ca/province +13 -0
  80. data/ffaker-2.25.0/lib/ffaker/data/address_ch/canton_abbr +26 -0
  81. data/ffaker-2.25.0/lib/ffaker/data/address_chde/canton +26 -0
  82. data/ffaker-2.25.0/lib/ffaker/data/address_chfr/canton +26 -0
  83. data/ffaker-2.25.0/lib/ffaker/data/address_chit/canton +26 -0
  84. data/ffaker-2.25.0/lib/ffaker/data/address_da/city +592 -0
  85. data/ffaker-2.25.0/lib/ffaker/data/address_da/kommune +88 -0
  86. data/ffaker-2.25.0/lib/ffaker/data/address_da/street +657 -0
  87. data/ffaker-2.25.0/lib/ffaker/data/address_de/city +1666 -0
  88. data/ffaker-2.25.0/lib/ffaker/data/address_de/state +16 -0
  89. data/ffaker-2.25.0/lib/ffaker/data/address_fi/city +107 -0
  90. data/ffaker-2.25.0/lib/ffaker/data/address_fi/countries +96 -0
  91. data/ffaker-2.25.0/lib/ffaker/data/address_fi/street +140 -0
  92. data/ffaker-2.25.0/lib/ffaker/data/address_fr/city +261 -0
  93. data/ffaker-2.25.0/lib/ffaker/data/address_fr/region +27 -0
  94. data/ffaker-2.25.0/lib/ffaker/data/address_gr/city +79 -0
  95. data/ffaker-2.25.0/lib/ffaker/data/address_gr/region +13 -0
  96. data/ffaker-2.25.0/lib/ffaker/data/address_gr/street +100 -0
  97. data/ffaker-2.25.0/lib/ffaker/data/address_id/city +102 -0
  98. data/ffaker-2.25.0/lib/ffaker/data/address_id/common_street_names +170 -0
  99. data/ffaker-2.25.0/lib/ffaker/data/address_id/state +33 -0
  100. data/ffaker-2.25.0/lib/ffaker/data/address_id/state_abbr +33 -0
  101. data/ffaker-2.25.0/lib/ffaker/data/address_in/city +24 -0
  102. data/ffaker-2.25.0/lib/ffaker/data/address_in/state +29 -0
  103. data/ffaker-2.25.0/lib/ffaker/data/address_in/state_abbr +29 -0
  104. data/ffaker-2.25.0/lib/ffaker/data/address_in/union_territory +7 -0
  105. data/ffaker-2.25.0/lib/ffaker/data/address_in/union_territory_abbr +7 -0
  106. data/ffaker-2.25.0/lib/ffaker/data/address_it/city +111 -0
  107. data/ffaker-2.25.0/lib/ffaker/data/address_it/region +20 -0
  108. data/ffaker-2.25.0/lib/ffaker/data/address_ja/city +791 -0
  109. data/ffaker-2.25.0/lib/ffaker/data/address_ja/county +98 -0
  110. data/ffaker-2.25.0/lib/ffaker/data/address_ja/designated_city +20 -0
  111. data/ffaker-2.25.0/lib/ffaker/data/address_ja/prefecture +47 -0
  112. data/ffaker-2.25.0/lib/ffaker/data/address_ja/street +37 -0
  113. data/ffaker-2.25.0/lib/ffaker/data/address_ja/tokyo_ward +23 -0
  114. data/ffaker-2.25.0/lib/ffaker/data/address_ja/village +183 -0
  115. data/ffaker-2.25.0/lib/ffaker/data/address_ja/ward +188 -0
  116. data/ffaker-2.25.0/lib/ffaker/data/address_kr/boroughs +29 -0
  117. data/ffaker-2.25.0/lib/ffaker/data/address_kr/cities +51 -0
  118. data/ffaker-2.25.0/lib/ffaker/data/address_mx/ags +11 -0
  119. data/ffaker-2.25.0/lib/ffaker/data/address_mx/bc +5 -0
  120. data/ffaker-2.25.0/lib/ffaker/data/address_mx/bcs +5 -0
  121. data/ffaker-2.25.0/lib/ffaker/data/address_mx/camp +11 -0
  122. data/ffaker-2.25.0/lib/ffaker/data/address_mx/chih +67 -0
  123. data/ffaker-2.25.0/lib/ffaker/data/address_mx/chis +118 -0
  124. data/ffaker-2.25.0/lib/ffaker/data/address_mx/coah +38 -0
  125. data/ffaker-2.25.0/lib/ffaker/data/address_mx/col +10 -0
  126. data/ffaker-2.25.0/lib/ffaker/data/address_mx/df +16 -0
  127. data/ffaker-2.25.0/lib/ffaker/data/address_mx/dgo +39 -0
  128. data/ffaker-2.25.0/lib/ffaker/data/address_mx/gro +81 -0
  129. data/ffaker-2.25.0/lib/ffaker/data/address_mx/gto +46 -0
  130. data/ffaker-2.25.0/lib/ffaker/data/address_mx/hgo +84 -0
  131. data/ffaker-2.25.0/lib/ffaker/data/address_mx/jal +125 -0
  132. data/ffaker-2.25.0/lib/ffaker/data/address_mx/mex +125 -0
  133. data/ffaker-2.25.0/lib/ffaker/data/address_mx/mich +113 -0
  134. data/ffaker-2.25.0/lib/ffaker/data/address_mx/mor +33 -0
  135. data/ffaker-2.25.0/lib/ffaker/data/address_mx/nay +20 -0
  136. data/ffaker-2.25.0/lib/ffaker/data/address_mx/nl +51 -0
  137. data/ffaker-2.25.0/lib/ffaker/data/address_mx/oax +570 -0
  138. data/ffaker-2.25.0/lib/ffaker/data/address_mx/pue +217 -0
  139. data/ffaker-2.25.0/lib/ffaker/data/address_mx/qr +10 -0
  140. data/ffaker-2.25.0/lib/ffaker/data/address_mx/qro +18 -0
  141. data/ffaker-2.25.0/lib/ffaker/data/address_mx/sin +18 -0
  142. data/ffaker-2.25.0/lib/ffaker/data/address_mx/slp +58 -0
  143. data/ffaker-2.25.0/lib/ffaker/data/address_mx/son +72 -0
  144. data/ffaker-2.25.0/lib/ffaker/data/address_mx/state +32 -0
  145. data/ffaker-2.25.0/lib/ffaker/data/address_mx/state_abbr +32 -0
  146. data/ffaker-2.25.0/lib/ffaker/data/address_mx/tab +17 -0
  147. data/ffaker-2.25.0/lib/ffaker/data/address_mx/tamps +43 -0
  148. data/ffaker-2.25.0/lib/ffaker/data/address_mx/tlax +60 -0
  149. data/ffaker-2.25.0/lib/ffaker/data/address_mx/ver +212 -0
  150. data/ffaker-2.25.0/lib/ffaker/data/address_mx/yuc +106 -0
  151. data/ffaker-2.25.0/lib/ffaker/data/address_mx/zac +58 -0
  152. data/ffaker-2.25.0/lib/ffaker/data/address_nl/city +2226 -0
  153. data/ffaker-2.25.0/lib/ffaker/data/address_nl/province +12 -0
  154. data/ffaker-2.25.0/lib/ffaker/data/address_pl/city +916 -0
  155. data/ffaker-2.25.0/lib/ffaker/data/address_pl/square +390 -0
  156. data/ffaker-2.25.0/lib/ffaker/data/address_pl/street +390 -0
  157. data/ffaker-2.25.0/lib/ffaker/data/address_pl/voivodeship +16 -0
  158. data/ffaker-2.25.0/lib/ffaker/data/address_pl/voivodeship_abbr +16 -0
  159. data/ffaker-2.25.0/lib/ffaker/data/address_pl/voivodeship_capital_city +18 -0
  160. data/ffaker-2.25.0/lib/ffaker/data/address_ru/city +74 -0
  161. data/ffaker-2.25.0/lib/ffaker/data/address_ru/province +83 -0
  162. data/ffaker-2.25.0/lib/ffaker/data/address_ru/street +49 -0
  163. data/ffaker-2.25.0/lib/ffaker/data/address_se/city +154 -0
  164. data/ffaker-2.25.0/lib/ffaker/data/address_se/countries +250 -0
  165. data/ffaker-2.25.0/lib/ffaker/data/address_se/street +2887 -0
  166. data/ffaker-2.25.0/lib/ffaker/data/address_sn/arrondissements +47 -0
  167. data/ffaker-2.25.0/lib/ffaker/data/address_sn/departements +43 -0
  168. data/ffaker-2.25.0/lib/ffaker/data/address_sn/regions +14 -0
  169. data/ffaker-2.25.0/lib/ffaker/data/address_ua/city +57 -0
  170. data/ffaker-2.25.0/lib/ffaker/data/address_ua/country +193 -0
  171. data/ffaker-2.25.0/lib/ffaker/data/address_ua/province +27 -0
  172. data/ffaker-2.25.0/lib/ffaker/data/address_ua/street +13 -0
  173. data/ffaker-2.25.0/lib/ffaker/data/address_uk/county +70 -0
  174. data/ffaker-2.25.0/lib/ffaker/data/address_us/state +50 -0
  175. data/ffaker-2.25.0/lib/ffaker/data/address_us/state_abbr +50 -0
  176. data/ffaker-2.25.0/lib/ffaker/data/address_us/state_and_territories_abbr +62 -0
  177. data/ffaker-2.25.0/lib/ffaker/data/airline/codes_list +209 -0
  178. data/ffaker-2.25.0/lib/ffaker/data/airline/names_list +206 -0
  179. data/ffaker-2.25.0/lib/ffaker/data/animal/common_names +141 -0
  180. data/ffaker-2.25.0/lib/ffaker/data/animal_br/common_names +423 -0
  181. data/ffaker-2.25.0/lib/ffaker/data/animal_cn/common_names +141 -0
  182. data/ffaker-2.25.0/lib/ffaker/data/animal_es/common_names +135 -0
  183. data/ffaker-2.25.0/lib/ffaker/data/animal_pl/common_names +256 -0
  184. data/ffaker-2.25.0/lib/ffaker/data/animal_us/common_names +141 -0
  185. data/ffaker-2.25.0/lib/ffaker/data/aws/ec2_instance_type +59 -0
  186. data/ffaker-2.25.0/lib/ffaker/data/aws/ec2_reserved_instance_tenancy +3 -0
  187. data/ffaker-2.25.0/lib/ffaker/data/aws/ec2_reserved_offering_type +6 -0
  188. data/ffaker-2.25.0/lib/ffaker/data/aws/ec2_reserved_product_description +14 -0
  189. data/ffaker-2.25.0/lib/ffaker/data/bacon_ipsum/bacon_words +62 -0
  190. data/ffaker-2.25.0/lib/ffaker/data/bank/card_types +12 -0
  191. data/ffaker-2.25.0/lib/ffaker/data/book/adj_and_adv +20 -0
  192. data/ffaker-2.25.0/lib/ffaker/data/book/genres +369 -0
  193. data/ffaker-2.25.0/lib/ffaker/data/book/nouns +36 -0
  194. data/ffaker-2.25.0/lib/ffaker/data/book/prefixes +17 -0
  195. data/ffaker-2.25.0/lib/ffaker/data/cheesy_lingo/cheesy_phrases +54 -0
  196. data/ffaker-2.25.0/lib/ffaker/data/cheesy_lingo/cheesy_words +34 -0
  197. data/ffaker-2.25.0/lib/ffaker/data/color/names_list +147 -0
  198. data/ffaker-2.25.0/lib/ffaker/data/color_pl/names_list +122 -0
  199. data/ffaker-2.25.0/lib/ffaker/data/color_ua/names_list +114 -0
  200. data/ffaker-2.25.0/lib/ffaker/data/company/bs_mid +65 -0
  201. data/ffaker-2.25.0/lib/ffaker/data/company/bs_pos +44 -0
  202. data/ffaker-2.25.0/lib/ffaker/data/company/bs_pre +60 -0
  203. data/ffaker-2.25.0/lib/ffaker/data/company/catch_mid +101 -0
  204. data/ffaker-2.25.0/lib/ffaker/data/company/catch_pos +104 -0
  205. data/ffaker-2.25.0/lib/ffaker/data/company/catch_pre +100 -0
  206. data/ffaker-2.25.0/lib/ffaker/data/company/position_areas +11 -0
  207. data/ffaker-2.25.0/lib/ffaker/data/company_it/piva_office_codes +99 -0
  208. data/ffaker-2.25.0/lib/ffaker/data/conference/conference_list +40 -0
  209. data/ffaker-2.25.0/lib/ffaker/data/currency/currency_code +169 -0
  210. data/ffaker-2.25.0/lib/ffaker/data/currency/currency_name +169 -0
  211. data/ffaker-2.25.0/lib/ffaker/data/currency/currency_symbol +8 -0
  212. data/ffaker-2.25.0/lib/ffaker/data/dizzle_ipsum/dizzle_words +69 -0
  213. data/ffaker-2.25.0/lib/ffaker/data/education/degree_prefix +274 -0
  214. data/ffaker-2.25.0/lib/ffaker/data/education/degree_short_prefix +19 -0
  215. data/ffaker-2.25.0/lib/ffaker/data/education/major_noun +13 -0
  216. data/ffaker-2.25.0/lib/ffaker/data/education/school_suffix +13 -0
  217. data/ffaker-2.25.0/lib/ffaker/data/education_cn/city +351 -0
  218. data/ffaker-2.25.0/lib/ffaker/data/education_cn/major +506 -0
  219. data/ffaker-2.25.0/lib/ffaker/data/education_cn/province +31 -0
  220. data/ffaker-2.25.0/lib/ffaker/data/education_cn/school_type +27 -0
  221. data/ffaker-2.25.0/lib/ffaker/data/filesystem/extension +32 -0
  222. data/ffaker-2.25.0/lib/ffaker/data/filesystem/mime_type +67 -0
  223. data/ffaker-2.25.0/lib/ffaker/data/food/fruit +82 -0
  224. data/ffaker-2.25.0/lib/ffaker/data/food/herb_spice +64 -0
  225. data/ffaker-2.25.0/lib/ffaker/data/food/meat +48 -0
  226. data/ffaker-2.25.0/lib/ffaker/data/food/vegetable +207 -0
  227. data/ffaker-2.25.0/lib/ffaker/data/food_pl/diary +14 -0
  228. data/ffaker-2.25.0/lib/ffaker/data/food_pl/fermented +13 -0
  229. data/ffaker-2.25.0/lib/ffaker/data/food_pl/fruits +34 -0
  230. data/ffaker-2.25.0/lib/ffaker/data/food_pl/herbs +20 -0
  231. data/ffaker-2.25.0/lib/ffaker/data/food_pl/meats +9 -0
  232. data/ffaker-2.25.0/lib/ffaker/data/food_pl/preserves +10 -0
  233. data/ffaker-2.25.0/lib/ffaker/data/food_pl/spices +26 -0
  234. data/ffaker-2.25.0/lib/ffaker/data/food_pl/vegetables +45 -0
  235. data/ffaker-2.25.0/lib/ffaker/data/freedom_ipsum/freedom_words +161 -0
  236. data/ffaker-2.25.0/lib/ffaker/data/game/adj_and_adv +18 -0
  237. data/ffaker-2.25.0/lib/ffaker/data/game/category +84 -0
  238. data/ffaker-2.25.0/lib/ffaker/data/game/mechanic +182 -0
  239. data/ffaker-2.25.0/lib/ffaker/data/game/nouns +37 -0
  240. data/ffaker-2.25.0/lib/ffaker/data/game/prefixes +17 -0
  241. data/ffaker-2.25.0/lib/ffaker/data/healthcare_ipsum/healthcare_words +193 -0
  242. data/ffaker-2.25.0/lib/ffaker/data/healthcare_ru/doctor_specialization +127 -0
  243. data/ffaker-2.25.0/lib/ffaker/data/hipster_ipsum/hipster_words +101 -0
  244. data/ffaker-2.25.0/lib/ffaker/data/identification_mx/estados_curp +33 -0
  245. data/ffaker-2.25.0/lib/ffaker/data/jo_jo/first_names +356 -0
  246. data/ffaker-2.25.0/lib/ffaker/data/jo_jo/full_names +225 -0
  247. data/ffaker-2.25.0/lib/ffaker/data/jo_jo/last_names +153 -0
  248. data/ffaker-2.25.0/lib/ffaker/data/jo_jo/stands +149 -0
  249. data/ffaker-2.25.0/lib/ffaker/data/job/job_adj +37 -0
  250. data/ffaker-2.25.0/lib/ffaker/data/job/job_noun +25 -0
  251. data/ffaker-2.25.0/lib/ffaker/data/job/job_prefix +22 -0
  252. data/ffaker-2.25.0/lib/ffaker/data/job_br/job_nouns +52 -0
  253. data/ffaker-2.25.0/lib/ffaker/data/job_cn/job_nouns +300 -0
  254. data/ffaker-2.25.0/lib/ffaker/data/job_fr/job_nouns +14 -0
  255. data/ffaker-2.25.0/lib/ffaker/data/job_fr/job_prefixes +15 -0
  256. data/ffaker-2.25.0/lib/ffaker/data/job_it/job_adj +37 -0
  257. data/ffaker-2.25.0/lib/ffaker/data/job_it/job_noun +25 -0
  258. data/ffaker-2.25.0/lib/ffaker/data/job_it/job_prefix +22 -0
  259. data/ffaker-2.25.0/lib/ffaker/data/job_ja/job_nouns +235 -0
  260. data/ffaker-2.25.0/lib/ffaker/data/job_kr/job_nouns +1209 -0
  261. data/ffaker-2.25.0/lib/ffaker/data/job_tw/job_nouns +201 -0
  262. data/ffaker-2.25.0/lib/ffaker/data/job_vn/job_nouns +191 -0
  263. data/ffaker-2.25.0/lib/ffaker/data/locale/language +136 -0
  264. data/ffaker-2.25.0/lib/ffaker/data/locale/language_code +136 -0
  265. data/ffaker-2.25.0/lib/ffaker/data/lorem/characters +36 -0
  266. data/ffaker-2.25.0/lib/ffaker/data/lorem/words +182 -0
  267. data/ffaker-2.25.0/lib/ffaker/data/lorem_ar/words +911 -0
  268. data/ffaker-2.25.0/lib/ffaker/data/lorem_br/characters +36 -0
  269. data/ffaker-2.25.0/lib/ffaker/data/lorem_br/words +183 -0
  270. data/ffaker-2.25.0/lib/ffaker/data/lorem_cn/words +706 -0
  271. data/ffaker-2.25.0/lib/ffaker/data/lorem_fr/words +229 -0
  272. data/ffaker-2.25.0/lib/ffaker/data/lorem_ie/characters +5 -0
  273. data/ffaker-2.25.0/lib/ffaker/data/lorem_ie/paragraphs +2 -0
  274. data/ffaker-2.25.0/lib/ffaker/data/lorem_ie/questions +1 -0
  275. data/ffaker-2.25.0/lib/ffaker/data/lorem_ie/sentences +1 -0
  276. data/ffaker-2.25.0/lib/ffaker/data/lorem_ie/words +107 -0
  277. data/ffaker-2.25.0/lib/ffaker/data/lorem_it/words +321 -0
  278. data/ffaker-2.25.0/lib/ffaker/data/lorem_ja/characters +101 -0
  279. data/ffaker-2.25.0/lib/ffaker/data/lorem_ja/sentences +30 -0
  280. data/ffaker-2.25.0/lib/ffaker/data/lorem_ja/sentences_end +21 -0
  281. data/ffaker-2.25.0/lib/ffaker/data/lorem_ja/words +81 -0
  282. data/ffaker-2.25.0/lib/ffaker/data/lorem_kr/words +47 -0
  283. data/ffaker-2.25.0/lib/ffaker/data/lorem_pl/characters +32 -0
  284. data/ffaker-2.25.0/lib/ffaker/data/lorem_pl/words +245 -0
  285. data/ffaker-2.25.0/lib/ffaker/data/lorem_ru/capital_chars +33 -0
  286. data/ffaker-2.25.0/lib/ffaker/data/lorem_ru/chars +33 -0
  287. data/ffaker-2.25.0/lib/ffaker/data/lorem_ru/words +191 -0
  288. data/ffaker-2.25.0/lib/ffaker/data/lorem_tw/words +789 -0
  289. data/ffaker-2.25.0/lib/ffaker/data/lorem_ua/capital_chars +33 -0
  290. data/ffaker-2.25.0/lib/ffaker/data/lorem_ua/chars +33 -0
  291. data/ffaker-2.25.0/lib/ffaker/data/lorem_ua/words +362 -0
  292. data/ffaker-2.25.0/lib/ffaker/data/mathematiques/lessons +58 -0
  293. data/ffaker-2.25.0/lib/ffaker/data/movie/adj_and_adv +20 -0
  294. data/ffaker-2.25.0/lib/ffaker/data/movie/nouns +36 -0
  295. data/ffaker-2.25.0/lib/ffaker/data/movie/prefixes +17 -0
  296. data/ffaker-2.25.0/lib/ffaker/data/music/albums +91 -0
  297. data/ffaker-2.25.0/lib/ffaker/data/music/artists +100 -0
  298. data/ffaker-2.25.0/lib/ffaker/data/music/genres +20 -0
  299. data/ffaker-2.25.0/lib/ffaker/data/music/songs +100 -0
  300. data/ffaker-2.25.0/lib/ffaker/data/name/first_names_female +4045 -0
  301. data/ffaker-2.25.0/lib/ffaker/data/name/first_names_male +1182 -0
  302. data/ffaker-2.25.0/lib/ffaker/data/name/last_names +474 -0
  303. data/ffaker-2.25.0/lib/ffaker/data/name/pronouns +6 -0
  304. data/ffaker-2.25.0/lib/ffaker/data/name_ar/first_names_female +250 -0
  305. data/ffaker-2.25.0/lib/ffaker/data/name_ar/first_names_male +567 -0
  306. data/ffaker-2.25.0/lib/ffaker/data/name_ar/last_names +357 -0
  307. data/ffaker-2.25.0/lib/ffaker/data/name_br/first_names_female +1068 -0
  308. data/ffaker-2.25.0/lib/ffaker/data/name_br/first_names_male +607 -0
  309. data/ffaker-2.25.0/lib/ffaker/data/name_br/last_names +77 -0
  310. data/ffaker-2.25.0/lib/ffaker/data/name_cn/first_names +1000 -0
  311. data/ffaker-2.25.0/lib/ffaker/data/name_cn/last_names +1057 -0
  312. data/ffaker-2.25.0/lib/ffaker/data/name_cs/female_first_names +40 -0
  313. data/ffaker-2.25.0/lib/ffaker/data/name_cs/female_last_names +50 -0
  314. data/ffaker-2.25.0/lib/ffaker/data/name_cs/male_first_names +88 -0
  315. data/ffaker-2.25.0/lib/ffaker/data/name_cs/male_last_names +49 -0
  316. data/ffaker-2.25.0/lib/ffaker/data/name_cs/prefixes +16 -0
  317. data/ffaker-2.25.0/lib/ffaker/data/name_da/female_first_names +303 -0
  318. data/ffaker-2.25.0/lib/ffaker/data/name_da/last_names +187 -0
  319. data/ffaker-2.25.0/lib/ffaker/data/name_da/male_first_names +301 -0
  320. data/ffaker-2.25.0/lib/ffaker/data/name_de/first_names +1166 -0
  321. data/ffaker-2.25.0/lib/ffaker/data/name_de/last_names +100 -0
  322. data/ffaker-2.25.0/lib/ffaker/data/name_es/first_names_female +184 -0
  323. data/ffaker-2.25.0/lib/ffaker/data/name_es/first_names_male +165 -0
  324. data/ffaker-2.25.0/lib/ffaker/data/name_es/last_names +208 -0
  325. data/ffaker-2.25.0/lib/ffaker/data/name_fr/first_names +220 -0
  326. data/ffaker-2.25.0/lib/ffaker/data/name_fr/last_names +408 -0
  327. data/ffaker-2.25.0/lib/ffaker/data/name_ga/first_names_female +225 -0
  328. data/ffaker-2.25.0/lib/ffaker/data/name_ga/first_names_male +306 -0
  329. data/ffaker-2.25.0/lib/ffaker/data/name_gr/female_first_names +80 -0
  330. data/ffaker-2.25.0/lib/ffaker/data/name_gr/female_last_names +45 -0
  331. data/ffaker-2.25.0/lib/ffaker/data/name_gr/male_first_names +90 -0
  332. data/ffaker-2.25.0/lib/ffaker/data/name_gr/male_last_names +57 -0
  333. data/ffaker-2.25.0/lib/ffaker/data/name_id/first_names_female +267 -0
  334. data/ffaker-2.25.0/lib/ffaker/data/name_id/first_names_male +312 -0
  335. data/ffaker-2.25.0/lib/ffaker/data/name_id/last_names +1669 -0
  336. data/ffaker-2.25.0/lib/ffaker/data/name_in/first_names_female +100 -0
  337. data/ffaker-2.25.0/lib/ffaker/data/name_in/first_names_male +100 -0
  338. data/ffaker-2.25.0/lib/ffaker/data/name_in/last_names +100 -0
  339. data/ffaker-2.25.0/lib/ffaker/data/name_it/first_names +171 -0
  340. data/ffaker-2.25.0/lib/ffaker/data/name_it/last_names +70 -0
  341. data/ffaker-2.25.0/lib/ffaker/data/name_ja/first_names +397 -0
  342. data/ffaker-2.25.0/lib/ffaker/data/name_ja/last_names +1078 -0
  343. data/ffaker-2.25.0/lib/ffaker/data/name_kh/first_names +64 -0
  344. data/ffaker-2.25.0/lib/ffaker/data/name_kh/last_names +71 -0
  345. data/ffaker-2.25.0/lib/ffaker/data/name_kh/nick_names +30 -0
  346. data/ffaker-2.25.0/lib/ffaker/data/name_kr/first_names +1317 -0
  347. data/ffaker-2.25.0/lib/ffaker/data/name_kr/last_names +197 -0
  348. data/ffaker-2.25.0/lib/ffaker/data/name_mx/female_first_names +216 -0
  349. data/ffaker-2.25.0/lib/ffaker/data/name_mx/last_names +352 -0
  350. data/ffaker-2.25.0/lib/ffaker/data/name_mx/male_first_names +211 -0
  351. data/ffaker-2.25.0/lib/ffaker/data/name_nb/first_names_female +50 -0
  352. data/ffaker-2.25.0/lib/ffaker/data/name_nb/first_names_male +50 -0
  353. data/ffaker-2.25.0/lib/ffaker/data/name_nb/last_names +100 -0
  354. data/ffaker-2.25.0/lib/ffaker/data/name_nl/first_names_female +89 -0
  355. data/ffaker-2.25.0/lib/ffaker/data/name_nl/first_names_male +75 -0
  356. data/ffaker-2.25.0/lib/ffaker/data/name_nl/last_names +115 -0
  357. data/ffaker-2.25.0/lib/ffaker/data/name_ph/autochthonous_surnames +217 -0
  358. data/ffaker-2.25.0/lib/ffaker/data/name_ph/spanish_surnames +300 -0
  359. data/ffaker-2.25.0/lib/ffaker/data/name_pl/female_first_names +121 -0
  360. data/ffaker-2.25.0/lib/ffaker/data/name_pl/female_last_names +200 -0
  361. data/ffaker-2.25.0/lib/ffaker/data/name_pl/male_first_names +121 -0
  362. data/ffaker-2.25.0/lib/ffaker/data/name_pl/male_last_names +200 -0
  363. data/ffaker-2.25.0/lib/ffaker/data/name_ru/first_names_female +91 -0
  364. data/ffaker-2.25.0/lib/ffaker/data/name_ru/first_names_male +172 -0
  365. data/ffaker-2.25.0/lib/ffaker/data/name_ru/last_names_female +100 -0
  366. data/ffaker-2.25.0/lib/ffaker/data/name_ru/last_names_male +100 -0
  367. data/ffaker-2.25.0/lib/ffaker/data/name_ru/middle_names_female +65 -0
  368. data/ffaker-2.25.0/lib/ffaker/data/name_ru/middle_names_male +73 -0
  369. data/ffaker-2.25.0/lib/ffaker/data/name_se/first_names_female +110 -0
  370. data/ffaker-2.25.0/lib/ffaker/data/name_se/first_names_male +110 -0
  371. data/ffaker-2.25.0/lib/ffaker/data/name_se/last_names +100 -0
  372. data/ffaker-2.25.0/lib/ffaker/data/name_sn/first_names_female +225 -0
  373. data/ffaker-2.25.0/lib/ffaker/data/name_sn/first_names_male +304 -0
  374. data/ffaker-2.25.0/lib/ffaker/data/name_sn/last_names +243 -0
  375. data/ffaker-2.25.0/lib/ffaker/data/name_th/first_names +360 -0
  376. data/ffaker-2.25.0/lib/ffaker/data/name_th/last_names +15 -0
  377. data/ffaker-2.25.0/lib/ffaker/data/name_th/nick_names +74 -0
  378. data/ffaker-2.25.0/lib/ffaker/data/name_then/first_names +292 -0
  379. data/ffaker-2.25.0/lib/ffaker/data/name_then/last_names +63 -0
  380. data/ffaker-2.25.0/lib/ffaker/data/name_then/nick_names +30 -0
  381. data/ffaker-2.25.0/lib/ffaker/data/name_tw/first_names +122 -0
  382. data/ffaker-2.25.0/lib/ffaker/data/name_tw/last_names +100 -0
  383. data/ffaker-2.25.0/lib/ffaker/data/name_ua/first_names_female +193 -0
  384. data/ffaker-2.25.0/lib/ffaker/data/name_ua/first_names_male +195 -0
  385. data/ffaker-2.25.0/lib/ffaker/data/name_ua/last_names_female +230 -0
  386. data/ffaker-2.25.0/lib/ffaker/data/name_ua/last_names_male +239 -0
  387. data/ffaker-2.25.0/lib/ffaker/data/name_ua/middle_names_female +116 -0
  388. data/ffaker-2.25.0/lib/ffaker/data/name_ua/middle_names_male +116 -0
  389. data/ffaker-2.25.0/lib/ffaker/data/name_vn/first_names +6 -0
  390. data/ffaker-2.25.0/lib/ffaker/data/name_vn/last_names +67 -0
  391. data/ffaker-2.25.0/lib/ffaker/data/name_vn/middle_names +89 -0
  392. data/ffaker-2.25.0/lib/ffaker/data/nato_alphabet/alphabet_codes +26 -0
  393. data/ffaker-2.25.0/lib/ffaker/data/nato_alphabet/numeric_codes +10 -0
  394. data/ffaker-2.25.0/lib/ffaker/data/philosophie/lessons +17 -0
  395. data/ffaker-2.25.0/lib/ffaker/data/phone_number/phone_calling_code +205 -0
  396. data/ffaker-2.25.0/lib/ffaker/data/phone_number_id/home_phone_prefixes +303 -0
  397. data/ffaker-2.25.0/lib/ffaker/data/phone_number_id/mobile_phone_prefixes +33 -0
  398. data/ffaker-2.25.0/lib/ffaker/data/phone_number_it/home_phone_prefixes +232 -0
  399. data/ffaker-2.25.0/lib/ffaker/data/phone_number_it/mobile_phone_prefixes +18 -0
  400. data/ffaker-2.25.0/lib/ffaker/data/phone_number_ja/four_disit_area_codes +41 -0
  401. data/ffaker-2.25.0/lib/ffaker/data/phone_number_ja/one_disit_area_codes +3 -0
  402. data/ffaker-2.25.0/lib/ffaker/data/phone_number_ja/three_disit_area_codes +296 -0
  403. data/ffaker-2.25.0/lib/ffaker/data/phone_number_ja/two_disit_area_codes +48 -0
  404. data/ffaker-2.25.0/lib/ffaker/data/phone_number_nl/area_codes +142 -0
  405. data/ffaker-2.25.0/lib/ffaker/data/phone_number_ru/home_phone_prefixes +107 -0
  406. data/ffaker-2.25.0/lib/ffaker/data/phone_number_ru/mobile_phone_prefixes +61 -0
  407. data/ffaker-2.25.0/lib/ffaker/data/phone_number_se/phone_prefix +265 -0
  408. data/ffaker-2.25.0/lib/ffaker/data/phone_number_ua/home_phone_prefixes +29 -0
  409. data/ffaker-2.25.0/lib/ffaker/data/phone_number_ua/mobile_phone_prefixes +11 -0
  410. data/ffaker-2.25.0/lib/ffaker/data/product/adj +19 -0
  411. data/ffaker-2.25.0/lib/ffaker/data/product/b1 +19 -0
  412. data/ffaker-2.25.0/lib/ffaker/data/product/noun +19 -0
  413. data/ffaker-2.25.0/lib/ffaker/data/skill/specialty_end +14 -0
  414. data/ffaker-2.25.0/lib/ffaker/data/skill/specialty_start +18 -0
  415. data/ffaker-2.25.0/lib/ffaker/data/skill/tech_skills +52 -0
  416. data/ffaker-2.25.0/lib/ffaker/data/sport/names +67 -0
  417. data/ffaker-2.25.0/lib/ffaker/data/sport_pl/summer +53 -0
  418. data/ffaker-2.25.0/lib/ffaker/data/sport_pl/winter +14 -0
  419. data/ffaker-2.25.0/lib/ffaker/data/sport_ru/summer +68 -0
  420. data/ffaker-2.25.0/lib/ffaker/data/sport_ru/winter +20 -0
  421. data/ffaker-2.25.0/lib/ffaker/data/sport_us/names +67 -0
  422. data/ffaker-2.25.0/lib/ffaker/data/tweet/hashtag +58 -0
  423. data/ffaker-2.25.0/lib/ffaker/data/vehicle/color_prefixes +25 -0
  424. data/ffaker-2.25.0/lib/ffaker/data/vehicle/displacements_list +21 -0
  425. data/ffaker-2.25.0/lib/ffaker/data/vehicle/fuel_types_list +6 -0
  426. data/ffaker-2.25.0/lib/ffaker/data/vehicle/makes_list +73 -0
  427. data/ffaker-2.25.0/lib/ffaker/data/vehicle/models_list +106 -0
  428. data/ffaker-2.25.0/lib/ffaker/data/vehicle/transmissions_list +4 -0
  429. data/ffaker-2.25.0/lib/ffaker/data/vehicle/trims_list +13 -0
  430. data/ffaker-2.25.0/lib/ffaker/data/vehicle/upholstery_list +5 -0
  431. data/ffaker-2.25.0/lib/ffaker/data/venue/venue_list +33 -0
  432. data/ffaker-2.25.0/lib/ffaker/data/youtube/video_ids +50 -0
  433. data/ffaker-2.25.0/lib/ffaker/date.rb +40 -0
  434. data/ffaker-2.25.0/lib/ffaker/dizzle_ipsum.rb +19 -0
  435. data/ffaker-2.25.0/lib/ffaker/education.rb +49 -0
  436. data/ffaker-2.25.0/lib/ffaker/education_cn.rb +37 -0
  437. data/ffaker-2.25.0/lib/ffaker/filesystem.rb +35 -0
  438. data/ffaker-2.25.0/lib/ffaker/food.rb +28 -0
  439. data/ffaker-2.25.0/lib/ffaker/food_pl.rb +65 -0
  440. data/ffaker-2.25.0/lib/ffaker/freedom_ipsum.rb +20 -0
  441. data/ffaker-2.25.0/lib/ffaker/game.rb +33 -0
  442. data/ffaker-2.25.0/lib/ffaker/gender.rb +22 -0
  443. data/ffaker-2.25.0/lib/ffaker/gender_br.rb +17 -0
  444. data/ffaker-2.25.0/lib/ffaker/gender_cn.rb +17 -0
  445. data/ffaker-2.25.0/lib/ffaker/gender_id.rb +17 -0
  446. data/ffaker-2.25.0/lib/ffaker/gender_it.rb +17 -0
  447. data/ffaker-2.25.0/lib/ffaker/gender_ja.rb +18 -0
  448. data/ffaker-2.25.0/lib/ffaker/gender_jp.rb +11 -0
  449. data/ffaker-2.25.0/lib/ffaker/gender_kr.rb +17 -0
  450. data/ffaker-2.25.0/lib/ffaker/gender_pl.rb +19 -0
  451. data/ffaker-2.25.0/lib/ffaker/gender_ru.rb +22 -0
  452. data/ffaker-2.25.0/lib/ffaker/geolocation.rb +60 -0
  453. data/ffaker-2.25.0/lib/ffaker/guid.rb +18 -0
  454. data/ffaker-2.25.0/lib/ffaker/healthcare_ipsum.rb +18 -0
  455. data/ffaker-2.25.0/lib/ffaker/healthcare_ru.rb +12 -0
  456. data/ffaker-2.25.0/lib/ffaker/hipster_ipsum.rb +19 -0
  457. data/ffaker-2.25.0/lib/ffaker/html_ipsum.rb +186 -0
  458. data/ffaker-2.25.0/lib/ffaker/identification.rb +30 -0
  459. data/ffaker-2.25.0/lib/ffaker/identification_br.rb +75 -0
  460. data/ffaker-2.25.0/lib/ffaker/identification_ec.rb +39 -0
  461. data/ffaker-2.25.0/lib/ffaker/identification_es.rb +14 -0
  462. data/ffaker-2.25.0/lib/ffaker/identification_es_cl.rb +29 -0
  463. data/ffaker-2.25.0/lib/ffaker/identification_es_co.rb +39 -0
  464. data/ffaker-2.25.0/lib/ffaker/identification_fi.rb +73 -0
  465. data/ffaker-2.25.0/lib/ffaker/identification_in.rb +15 -0
  466. data/ffaker-2.25.0/lib/ffaker/identification_it.rb +30 -0
  467. data/ffaker-2.25.0/lib/ffaker/identification_kr.rb +26 -0
  468. data/ffaker-2.25.0/lib/ffaker/identification_mx.rb +58 -0
  469. data/ffaker-2.25.0/lib/ffaker/identification_pl.rb +77 -0
  470. data/ffaker-2.25.0/lib/ffaker/identification_tw.rb +24 -0
  471. data/ffaker-2.25.0/lib/ffaker/image.rb +72 -0
  472. data/ffaker-2.25.0/lib/ffaker/internet.rb +90 -0
  473. data/ffaker-2.25.0/lib/ffaker/internet_se.rb +108 -0
  474. data/ffaker-2.25.0/lib/ffaker/jo_jo.rb +24 -0
  475. data/ffaker-2.25.0/lib/ffaker/job.rb +12 -0
  476. data/ffaker-2.25.0/lib/ffaker/job_br.rb +12 -0
  477. data/ffaker-2.25.0/lib/ffaker/job_cn.rb +12 -0
  478. data/ffaker-2.25.0/lib/ffaker/job_fr.rb +18 -0
  479. data/ffaker-2.25.0/lib/ffaker/job_it.rb +12 -0
  480. data/ffaker-2.25.0/lib/ffaker/job_ja.rb +12 -0
  481. data/ffaker-2.25.0/lib/ffaker/job_kr.rb +12 -0
  482. data/ffaker-2.25.0/lib/ffaker/job_tw.rb +12 -0
  483. data/ffaker-2.25.0/lib/ffaker/job_vn.rb +12 -0
  484. data/ffaker-2.25.0/lib/ffaker/locale.rb +22 -0
  485. data/ffaker-2.25.0/lib/ffaker/lorem.rb +45 -0
  486. data/ffaker-2.25.0/lib/ffaker/lorem_ar.rb +40 -0
  487. data/ffaker-2.25.0/lib/ffaker/lorem_br.rb +45 -0
  488. data/ffaker-2.25.0/lib/ffaker/lorem_cn.rb +40 -0
  489. data/ffaker-2.25.0/lib/ffaker/lorem_fr.rb +39 -0
  490. data/ffaker-2.25.0/lib/ffaker/lorem_ie.rb +40 -0
  491. data/ffaker-2.25.0/lib/ffaker/lorem_it.rb +39 -0
  492. data/ffaker-2.25.0/lib/ffaker/lorem_ja.rb +40 -0
  493. data/ffaker-2.25.0/lib/ffaker/lorem_kr.rb +36 -0
  494. data/ffaker-2.25.0/lib/ffaker/lorem_pl.rb +60 -0
  495. data/ffaker-2.25.0/lib/ffaker/lorem_ru.rb +57 -0
  496. data/ffaker-2.25.0/lib/ffaker/lorem_tw.rb +40 -0
  497. data/ffaker-2.25.0/lib/ffaker/lorem_ua.rb +54 -0
  498. data/ffaker-2.25.0/lib/ffaker/movie.rb +69 -0
  499. data/ffaker-2.25.0/lib/ffaker/music.rb +24 -0
  500. data/ffaker-2.25.0/lib/ffaker/name.rb +121 -0
  501. data/ffaker-2.25.0/lib/ffaker/name_ar.rb +28 -0
  502. data/ffaker-2.25.0/lib/ffaker/name_br.rb +62 -0
  503. data/ffaker-2.25.0/lib/ffaker/name_cn.rb +24 -0
  504. data/ffaker-2.25.0/lib/ffaker/name_cs.rb +87 -0
  505. data/ffaker-2.25.0/lib/ffaker/name_da.rb +56 -0
  506. data/ffaker-2.25.0/lib/ffaker/name_de.rb +31 -0
  507. data/ffaker-2.25.0/lib/ffaker/name_es.rb +64 -0
  508. data/ffaker-2.25.0/lib/ffaker/name_fr.rb +35 -0
  509. data/ffaker-2.25.0/lib/ffaker/name_ga.rb +39 -0
  510. data/ffaker-2.25.0/lib/ffaker/name_gr.rb +59 -0
  511. data/ffaker-2.25.0/lib/ffaker/name_id.rb +62 -0
  512. data/ffaker-2.25.0/lib/ffaker/name_in.rb +39 -0
  513. data/ffaker-2.25.0/lib/ffaker/name_it.rb +31 -0
  514. data/ffaker-2.25.0/lib/ffaker/name_ja.rb +22 -0
  515. data/ffaker-2.25.0/lib/ffaker/name_kh.rb +24 -0
  516. data/ffaker-2.25.0/lib/ffaker/name_kr.rb +26 -0
  517. data/ffaker-2.25.0/lib/ffaker/name_mx.rb +101 -0
  518. data/ffaker-2.25.0/lib/ffaker/name_nb.rb +44 -0
  519. data/ffaker-2.25.0/lib/ffaker/name_nl.rb +48 -0
  520. data/ffaker-2.25.0/lib/ffaker/name_ph.rb +25 -0
  521. data/ffaker-2.25.0/lib/ffaker/name_pl.rb +98 -0
  522. data/ffaker-2.25.0/lib/ffaker/name_ru.rb +55 -0
  523. data/ffaker-2.25.0/lib/ffaker/name_se.rb +44 -0
  524. data/ffaker-2.25.0/lib/ffaker/name_sn.rb +56 -0
  525. data/ffaker-2.25.0/lib/ffaker/name_th.rb +25 -0
  526. data/ffaker-2.25.0/lib/ffaker/name_th_en.rb +26 -0
  527. data/ffaker-2.25.0/lib/ffaker/name_tw.rb +20 -0
  528. data/ffaker-2.25.0/lib/ffaker/name_ua.rb +57 -0
  529. data/ffaker-2.25.0/lib/ffaker/name_vn.rb +28 -0
  530. data/ffaker-2.25.0/lib/ffaker/nato_alphabet.rb +38 -0
  531. data/ffaker-2.25.0/lib/ffaker/number.rb +30 -0
  532. data/ffaker-2.25.0/lib/ffaker/phone_number.rb +80 -0
  533. data/ffaker-2.25.0/lib/ffaker/phone_number_au.rb +76 -0
  534. data/ffaker-2.25.0/lib/ffaker/phone_number_br.rb +77 -0
  535. data/ffaker-2.25.0/lib/ffaker/phone_number_ch.rb +46 -0
  536. data/ffaker-2.25.0/lib/ffaker/phone_number_cu.rb +122 -0
  537. data/ffaker-2.25.0/lib/ffaker/phone_number_da.rb +43 -0
  538. data/ffaker-2.25.0/lib/ffaker/phone_number_de.rb +50 -0
  539. data/ffaker-2.25.0/lib/ffaker/phone_number_fr.rb +65 -0
  540. data/ffaker-2.25.0/lib/ffaker/phone_number_id.rb +36 -0
  541. data/ffaker-2.25.0/lib/ffaker/phone_number_it.rb +44 -0
  542. data/ffaker-2.25.0/lib/ffaker/phone_number_ja.rb +88 -0
  543. data/ffaker-2.25.0/lib/ffaker/phone_number_kr.rb +50 -0
  544. data/ffaker-2.25.0/lib/ffaker/phone_number_mx.rb +56 -0
  545. data/ffaker-2.25.0/lib/ffaker/phone_number_nl.rb +46 -0
  546. data/ffaker-2.25.0/lib/ffaker/phone_number_pl.rb +68 -0
  547. data/ffaker-2.25.0/lib/ffaker/phone_number_ru.rb +120 -0
  548. data/ffaker-2.25.0/lib/ffaker/phone_number_se.rb +88 -0
  549. data/ffaker-2.25.0/lib/ffaker/phone_number_sg.rb +81 -0
  550. data/ffaker-2.25.0/lib/ffaker/phone_number_sn.rb +71 -0
  551. data/ffaker-2.25.0/lib/ffaker/phone_number_tw.rb +49 -0
  552. data/ffaker-2.25.0/lib/ffaker/phone_number_ua.rb +42 -0
  553. data/ffaker-2.25.0/lib/ffaker/product.rb +47 -0
  554. data/ffaker-2.25.0/lib/ffaker/sem_ver.rb +19 -0
  555. data/ffaker-2.25.0/lib/ffaker/skill.rb +24 -0
  556. data/ffaker-2.25.0/lib/ffaker/sport.rb +14 -0
  557. data/ffaker-2.25.0/lib/ffaker/sport_pl.rb +25 -0
  558. data/ffaker-2.25.0/lib/ffaker/sport_ru.rb +25 -0
  559. data/ffaker-2.25.0/lib/ffaker/sport_us.rb +12 -0
  560. data/ffaker-2.25.0/lib/ffaker/ssn.rb +24 -0
  561. data/ffaker-2.25.0/lib/ffaker/ssn_mx.rb +56 -0
  562. data/ffaker-2.25.0/lib/ffaker/ssn_se.rb +80 -0
  563. data/ffaker-2.25.0/lib/ffaker/string.rb +110 -0
  564. data/ffaker-2.25.0/lib/ffaker/time.rb +65 -0
  565. data/ffaker-2.25.0/lib/ffaker/tweet.rb +59 -0
  566. data/ffaker-2.25.0/lib/ffaker/unit.rb +48 -0
  567. data/ffaker-2.25.0/lib/ffaker/unit_english.rb +107 -0
  568. data/ffaker-2.25.0/lib/ffaker/unit_metric.rb +98 -0
  569. data/ffaker-2.25.0/lib/ffaker/utils/array_utils.rb +53 -0
  570. data/ffaker-2.25.0/lib/ffaker/utils/module_utils.rb +49 -0
  571. data/ffaker-2.25.0/lib/ffaker/utils/random_utils.rb +37 -0
  572. data/ffaker-2.25.0/lib/ffaker/utils/unique_utils.rb +56 -0
  573. data/ffaker-2.25.0/lib/ffaker/uuid.rb +175 -0
  574. data/ffaker-2.25.0/lib/ffaker/vehicle.rb +133 -0
  575. data/ffaker-2.25.0/lib/ffaker/venue.rb +12 -0
  576. data/ffaker-2.25.0/lib/ffaker/version.rb +5 -0
  577. data/ffaker-2.25.0/lib/ffaker/youtube.rb +24 -0
  578. data/ffaker-2.25.0/lib/ffaker.rb +130 -0
  579. data/ffaker-2.25.0/scripts/benchmark.rb +21 -0
  580. data/ffaker-2.25.0/scripts/profile.sh +2 -0
  581. data/ffaker-2.25.0/scripts/profiling.rb +9 -0
  582. data/ffaker-2.25.0/scripts/reference.rb +94 -0
  583. data/ffaker-2.25.0/test/helper.rb +87 -0
  584. data/ffaker-2.25.0/test/test_address.rb +109 -0
  585. data/ffaker-2.25.0/test/test_address_au.rb +78 -0
  586. data/ffaker-2.25.0/test/test_address_br.rb +50 -0
  587. data/ffaker-2.25.0/test/test_address_ca.rb +31 -0
  588. data/ffaker-2.25.0/test/test_address_ch.rb +17 -0
  589. data/ffaker-2.25.0/test/test_address_ch_de.rb +13 -0
  590. data/ffaker-2.25.0/test/test_address_ch_fr.rb +13 -0
  591. data/ffaker-2.25.0/test/test_address_ch_it.rb +15 -0
  592. data/ffaker-2.25.0/test/test_address_da.rb +50 -0
  593. data/ffaker-2.25.0/test/test_address_de.rb +32 -0
  594. data/ffaker-2.25.0/test/test_address_fi.rb +39 -0
  595. data/ffaker-2.25.0/test/test_address_fr.rb +12 -0
  596. data/ffaker-2.25.0/test/test_address_gr.rb +43 -0
  597. data/ffaker-2.25.0/test/test_address_id.rb +39 -0
  598. data/ffaker-2.25.0/test/test_address_in.rb +58 -0
  599. data/ffaker-2.25.0/test/test_address_it.rb +12 -0
  600. data/ffaker-2.25.0/test/test_address_ja.rb +58 -0
  601. data/ffaker-2.25.0/test/test_address_kr.rb +14 -0
  602. data/ffaker-2.25.0/test/test_address_mx.rb +32 -0
  603. data/ffaker-2.25.0/test/test_address_nl.rb +36 -0
  604. data/ffaker-2.25.0/test/test_address_pl.rb +80 -0
  605. data/ffaker-2.25.0/test/test_address_ru.rb +36 -0
  606. data/ffaker-2.25.0/test/test_address_se.rb +39 -0
  607. data/ffaker-2.25.0/test/test_address_sn.rb +28 -0
  608. data/ffaker-2.25.0/test/test_address_ua.rb +57 -0
  609. data/ffaker-2.25.0/test/test_address_uk.rb +25 -0
  610. data/ffaker-2.25.0/test/test_address_us.rb +51 -0
  611. data/ffaker-2.25.0/test/test_airline.rb +17 -0
  612. data/ffaker-2.25.0/test/test_animal.rb +17 -0
  613. data/ffaker-2.25.0/test/test_animal_br.rb +17 -0
  614. data/ffaker-2.25.0/test/test_animal_cn.rb +17 -0
  615. data/ffaker-2.25.0/test/test_animal_es.rb +17 -0
  616. data/ffaker-2.25.0/test/test_animal_pl.rb +17 -0
  617. data/ffaker-2.25.0/test/test_animal_us.rb +17 -0
  618. data/ffaker-2.25.0/test/test_array_utils.rb +100 -0
  619. data/ffaker-2.25.0/test/test_avatar.rb +80 -0
  620. data/ffaker-2.25.0/test/test_aws.rb +25 -0
  621. data/ffaker-2.25.0/test/test_bacon_ipsum.rb +36 -0
  622. data/ffaker-2.25.0/test/test_bank.rb +67 -0
  623. data/ffaker-2.25.0/test/test_bank_us.rb +37 -0
  624. data/ffaker-2.25.0/test/test_book.rb +75 -0
  625. data/ffaker-2.25.0/test/test_boolean.rb +45 -0
  626. data/ffaker-2.25.0/test/test_cheesy_lingo.rb +43 -0
  627. data/ffaker-2.25.0/test/test_code.rb +39 -0
  628. data/ffaker-2.25.0/test/test_color.rb +134 -0
  629. data/ffaker-2.25.0/test/test_color_pl.rb +13 -0
  630. data/ffaker-2.25.0/test/test_color_ua.rb +13 -0
  631. data/ffaker-2.25.0/test/test_company.rb +32 -0
  632. data/ffaker-2.25.0/test/test_company_cn.rb +24 -0
  633. data/ffaker-2.25.0/test/test_company_fr.rb +33 -0
  634. data/ffaker-2.25.0/test/test_company_it.rb +28 -0
  635. data/ffaker-2.25.0/test/test_company_ja.rb +28 -0
  636. data/ffaker-2.25.0/test/test_company_se.rb +20 -0
  637. data/ffaker-2.25.0/test/test_conference.rb +13 -0
  638. data/ffaker-2.25.0/test/test_course_mathematiques.rb +17 -0
  639. data/ffaker-2.25.0/test/test_course_philosophie.rb +17 -0
  640. data/ffaker-2.25.0/test/test_crypto.rb +15 -0
  641. data/ffaker-2.25.0/test/test_currency.rb +12 -0
  642. data/ffaker-2.25.0/test/test_date.rb +47 -0
  643. data/ffaker-2.25.0/test/test_dizzle_ipsum.rb +36 -0
  644. data/ffaker-2.25.0/test/test_education.rb +41 -0
  645. data/ffaker-2.25.0/test/test_education_cn.rb +29 -0
  646. data/ffaker-2.25.0/test/test_ffaker.rb +41 -0
  647. data/ffaker-2.25.0/test/test_filesystem.rb +62 -0
  648. data/ffaker-2.25.0/test/test_food.rb +28 -0
  649. data/ffaker-2.25.0/test/test_food_pl.rb +61 -0
  650. data/ffaker-2.25.0/test/test_freedom_ipsum.rb +21 -0
  651. data/ffaker-2.25.0/test/test_game.rb +28 -0
  652. data/ffaker-2.25.0/test/test_gender.rb +23 -0
  653. data/ffaker-2.25.0/test/test_gender_br.rb +18 -0
  654. data/ffaker-2.25.0/test/test_gender_cn.rb +18 -0
  655. data/ffaker-2.25.0/test/test_gender_id.rb +18 -0
  656. data/ffaker-2.25.0/test/test_gender_it.rb +27 -0
  657. data/ffaker-2.25.0/test/test_gender_ja.rb +27 -0
  658. data/ffaker-2.25.0/test/test_gender_jp.rb +27 -0
  659. data/ffaker-2.25.0/test/test_gender_kr.rb +28 -0
  660. data/ffaker-2.25.0/test/test_gender_pl.rb +27 -0
  661. data/ffaker-2.25.0/test/test_gender_ru.rb +23 -0
  662. data/ffaker-2.25.0/test/test_geolocation.rb +37 -0
  663. data/ffaker-2.25.0/test/test_guid.rb +14 -0
  664. data/ffaker-2.25.0/test/test_healthcare_ipsum.rb +36 -0
  665. data/ffaker-2.25.0/test/test_healthcare_ru.rb +19 -0
  666. data/ffaker-2.25.0/test/test_hipster_ipsum.rb +38 -0
  667. data/ffaker-2.25.0/test/test_html_ipsum.rb +105 -0
  668. data/ffaker-2.25.0/test/test_identification.rb +45 -0
  669. data/ffaker-2.25.0/test/test_identification_br.rb +46 -0
  670. data/ffaker-2.25.0/test/test_identification_co.rb +41 -0
  671. data/ffaker-2.25.0/test/test_identification_ec.rb +33 -0
  672. data/ffaker-2.25.0/test/test_identification_es.rb +17 -0
  673. data/ffaker-2.25.0/test/test_identification_es_cl.rb +17 -0
  674. data/ffaker-2.25.0/test/test_identification_es_mx.rb +30 -0
  675. data/ffaker-2.25.0/test/test_identification_fi.rb +39 -0
  676. data/ffaker-2.25.0/test/test_identification_in.rb +20 -0
  677. data/ffaker-2.25.0/test/test_identification_it.rb +45 -0
  678. data/ffaker-2.25.0/test/test_identification_kr.rb +17 -0
  679. data/ffaker-2.25.0/test/test_identification_pl.rb +28 -0
  680. data/ffaker-2.25.0/test/test_identification_tw.rb +17 -0
  681. data/ffaker-2.25.0/test/test_image.rb +97 -0
  682. data/ffaker-2.25.0/test/test_internet.rb +134 -0
  683. data/ffaker-2.25.0/test/test_internet_se.rb +81 -0
  684. data/ffaker-2.25.0/test/test_jo_jo.rb +29 -0
  685. data/ffaker-2.25.0/test/test_job.rb +17 -0
  686. data/ffaker-2.25.0/test/test_job_br.rb +17 -0
  687. data/ffaker-2.25.0/test/test_job_cn.rb +21 -0
  688. data/ffaker-2.25.0/test/test_job_fr.rb +23 -0
  689. data/ffaker-2.25.0/test/test_job_it.rb +17 -0
  690. data/ffaker-2.25.0/test/test_job_ja.rb +21 -0
  691. data/ffaker-2.25.0/test/test_job_kr.rb +21 -0
  692. data/ffaker-2.25.0/test/test_job_tw.rb +21 -0
  693. data/ffaker-2.25.0/test/test_job_vn.rb +21 -0
  694. data/ffaker-2.25.0/test/test_locale.rb +27 -0
  695. data/ffaker-2.25.0/test/test_lorem.rb +58 -0
  696. data/ffaker-2.25.0/test/test_lorem_ar.rb +44 -0
  697. data/ffaker-2.25.0/test/test_lorem_br.rb +62 -0
  698. data/ffaker-2.25.0/test/test_lorem_cn.rb +54 -0
  699. data/ffaker-2.25.0/test/test_lorem_fr.rb +48 -0
  700. data/ffaker-2.25.0/test/test_lorem_ie.rb +52 -0
  701. data/ffaker-2.25.0/test/test_lorem_it.rb +51 -0
  702. data/ffaker-2.25.0/test/test_lorem_ja.rb +81 -0
  703. data/ffaker-2.25.0/test/test_lorem_kr.rb +56 -0
  704. data/ffaker-2.25.0/test/test_lorem_pl.rb +51 -0
  705. data/ffaker-2.25.0/test/test_lorem_ru.rb +52 -0
  706. data/ffaker-2.25.0/test/test_lorem_tw.rb +54 -0
  707. data/ffaker-2.25.0/test/test_lorem_ua.rb +52 -0
  708. data/ffaker-2.25.0/test/test_module_utils.rb +56 -0
  709. data/ffaker-2.25.0/test/test_movie.rb +21 -0
  710. data/ffaker-2.25.0/test/test_music.rb +28 -0
  711. data/ffaker-2.25.0/test/test_name.rb +138 -0
  712. data/ffaker-2.25.0/test/test_name_ar.rb +39 -0
  713. data/ffaker-2.25.0/test/test_name_br.rb +70 -0
  714. data/ffaker-2.25.0/test/test_name_cn.rb +28 -0
  715. data/ffaker-2.25.0/test/test_name_cs.rb +73 -0
  716. data/ffaker-2.25.0/test/test_name_da.rb +59 -0
  717. data/ffaker-2.25.0/test/test_name_de.rb +25 -0
  718. data/ffaker-2.25.0/test/test_name_es.rb +70 -0
  719. data/ffaker-2.25.0/test/test_name_fr.rb +52 -0
  720. data/ffaker-2.25.0/test/test_name_ga.rb +61 -0
  721. data/ffaker-2.25.0/test/test_name_gr.rb +70 -0
  722. data/ffaker-2.25.0/test/test_name_id.rb +70 -0
  723. data/ffaker-2.25.0/test/test_name_it.rb +53 -0
  724. data/ffaker-2.25.0/test/test_name_ja.rb +51 -0
  725. data/ffaker-2.25.0/test/test_name_kh.rb +34 -0
  726. data/ffaker-2.25.0/test/test_name_kr.rb +28 -0
  727. data/ffaker-2.25.0/test/test_name_mx.rb +190 -0
  728. data/ffaker-2.25.0/test/test_name_nb.rb +43 -0
  729. data/ffaker-2.25.0/test/test_name_nl.rb +25 -0
  730. data/ffaker-2.25.0/test/test_name_ph.rb +34 -0
  731. data/ffaker-2.25.0/test/test_name_pl.rb +111 -0
  732. data/ffaker-2.25.0/test/test_name_ru.rb +76 -0
  733. data/ffaker-2.25.0/test/test_name_se.rb +43 -0
  734. data/ffaker-2.25.0/test/test_name_sn.rb +92 -0
  735. data/ffaker-2.25.0/test/test_name_th.rb +34 -0
  736. data/ffaker-2.25.0/test/test_name_th_en.rb +35 -0
  737. data/ffaker-2.25.0/test/test_name_tw.rb +28 -0
  738. data/ffaker-2.25.0/test/test_name_ua.rb +68 -0
  739. data/ffaker-2.25.0/test/test_name_vn.rb +42 -0
  740. data/ffaker-2.25.0/test/test_nato_alphabet.rb +42 -0
  741. data/ffaker-2.25.0/test/test_number.rb +57 -0
  742. data/ffaker-2.25.0/test/test_phone_number.rb +46 -0
  743. data/ffaker-2.25.0/test/test_phone_number_au.rb +65 -0
  744. data/ffaker-2.25.0/test/test_phone_number_br.rb +63 -0
  745. data/ffaker-2.25.0/test/test_phone_number_cu.rb +93 -0
  746. data/ffaker-2.25.0/test/test_phone_number_da.rb +47 -0
  747. data/ffaker-2.25.0/test/test_phone_number_de.rb +53 -0
  748. data/ffaker-2.25.0/test/test_phone_number_fr.rb +57 -0
  749. data/ffaker-2.25.0/test/test_phone_number_id.rb +57 -0
  750. data/ffaker-2.25.0/test/test_phone_number_it.rb +12 -0
  751. data/ffaker-2.25.0/test/test_phone_number_ja.rb +63 -0
  752. data/ffaker-2.25.0/test/test_phone_number_kr.rb +49 -0
  753. data/ffaker-2.25.0/test/test_phone_number_mx.rb +50 -0
  754. data/ffaker-2.25.0/test/test_phone_number_nl.rb +36 -0
  755. data/ffaker-2.25.0/test/test_phone_number_pl.rb +56 -0
  756. data/ffaker-2.25.0/test/test_phone_number_ru.rb +76 -0
  757. data/ffaker-2.25.0/test/test_phone_number_se.rb +65 -0
  758. data/ffaker-2.25.0/test/test_phone_number_sg.rb +52 -0
  759. data/ffaker-2.25.0/test/test_phone_number_sn.rb +41 -0
  760. data/ffaker-2.25.0/test/test_phone_number_tw.rb +42 -0
  761. data/ffaker-2.25.0/test/test_phone_number_ua.rb +38 -0
  762. data/ffaker-2.25.0/test/test_products.rb +22 -0
  763. data/ffaker-2.25.0/test/test_sem_ver.rb +18 -0
  764. data/ffaker-2.25.0/test/test_skill.rb +30 -0
  765. data/ffaker-2.25.0/test/test_sport_pl.rb +30 -0
  766. data/ffaker-2.25.0/test/test_sport_ru.rb +30 -0
  767. data/ffaker-2.25.0/test/test_sport_us.rb +17 -0
  768. data/ffaker-2.25.0/test/test_sports.rb +17 -0
  769. data/ffaker-2.25.0/test/test_ssn.rb +27 -0
  770. data/ffaker-2.25.0/test/test_ssn_mx.rb +36 -0
  771. data/ffaker-2.25.0/test/test_ssn_se.rb +43 -0
  772. data/ffaker-2.25.0/test/test_string.rb +114 -0
  773. data/ffaker-2.25.0/test/test_time.rb +101 -0
  774. data/ffaker-2.25.0/test/test_tweet.rb +59 -0
  775. data/ffaker-2.25.0/test/test_unique_utils.rb +78 -0
  776. data/ffaker-2.25.0/test/test_units.rb +37 -0
  777. data/ffaker-2.25.0/test/test_units_english.rb +63 -0
  778. data/ffaker-2.25.0/test/test_units_metric.rb +63 -0
  779. data/ffaker-2.25.0/test/test_uuid.rb +73 -0
  780. data/ffaker-2.25.0/test/test_vehicle.rb +100 -0
  781. data/ffaker-2.25.0/test/test_venue.rb +13 -0
  782. data/ffaker-2.25.0/test/test_youtube.rb +28 -0
  783. data/mini-fast-rb.gemspec +12 -0
  784. metadata +823 -0
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'random_utils'
4
+
5
+ module FFaker
6
+ module ArrayUtils
7
+ extend RandomUtils
8
+
9
+ def self.const_array(argument)
10
+ array = argument.is_a?(Array) ? argument : argument.to_a
11
+ array.extend ArrayUtils
12
+ freeze_all(array)
13
+ end
14
+
15
+ def self.random_pick(array, num)
16
+ warn '[ArrayUtils.random_pick] is deprecated. Please use the ModuleUtils#fetch_sample method'
17
+ fetch_sample(array, count: num)
18
+ end
19
+
20
+ def self.rand(array)
21
+ warn '[ArrayUtils.rand] is deprecated. Please use the ModuleUtils#fetch_sample method'
22
+ fetch_sample(array)
23
+ end
24
+
25
+ def self.freeze_all(array)
26
+ array.each(&:freeze)
27
+ array.freeze
28
+ array
29
+ end
30
+
31
+ def self.shuffle(array)
32
+ array.sort_by { FFaker::Random.rand }
33
+ end
34
+
35
+ def random_pick(num)
36
+ warn '[ArrayUtils#random_pick] is deprecated. Please use the ModuleUtils#fetch_sample method'
37
+ ArrayUtils.random_pick(self, num)
38
+ end
39
+
40
+ def rand
41
+ warn '[ArrayUtils#rand] is deprecated. Please use the ModuleUtils#fetch_sample method'
42
+ ArrayUtils.rand(self)
43
+ end
44
+
45
+ def freeze_all
46
+ ArrayUtils.freeze_all(self)
47
+ end
48
+
49
+ def shuffle
50
+ ArrayUtils.shuffle(self)
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'array_utils'
4
+ require_relative 'random_utils'
5
+ require_relative 'unique_utils'
6
+
7
+ module FFaker
8
+ module ModuleUtils
9
+ include RandomUtils
10
+
11
+ def k(arg)
12
+ FFaker::ArrayUtils.const_array(arg)
13
+ end
14
+
15
+ def const_missing(const_name)
16
+ if const_name.match?(/[a-z]/) # Not a constant, probably a class/module name.
17
+ super
18
+ else
19
+ mod_name = ancestors.first.to_s.split('::').last
20
+ data_path = "#{FFaker::BASE_LIB_PATH}/ffaker/data/#{underscore(mod_name)}/#{underscore(const_name.to_s)}"
21
+ data = k File.read(data_path, mode: 'r:UTF-8').split("\n")
22
+ const_set const_name, data
23
+ data
24
+ end
25
+ end
26
+
27
+ def underscore(string)
28
+ string.gsub('::', '/')
29
+ .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
30
+ .gsub(/([a-z\d])([A-Z])/, '\1_\2')
31
+ .tr('-', '_')
32
+ .downcase
33
+ end
34
+
35
+ def unique(max_retries = 10_000)
36
+ FFaker::UniqueUtils.add_instance(self, max_retries)
37
+ end
38
+
39
+ # http://en.wikipedia.org/wiki/Luhn_algorithm
40
+ def luhn_check(number)
41
+ sum = number.chars
42
+ .map(&:to_i)
43
+ .reverse
44
+ .each_with_index
45
+ .sum { |digit, index| index.even? ? (2 * digit).digits.sum : digit }
46
+ ((10 - (sum % 10)) % 10).to_s
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ # Methods for returning repeatably-random data using the internal
5
+ # Random Number Generator. You should not need to use this directly, it is
6
+ # automatically included when you `include ModuleUtils` in a FFaker module.
7
+ module RandomUtils
8
+ # Returns a randon number from the internal Random Number Generator. Can be
9
+ # used in place of `rand` or `Kernal.rand`.
10
+ def rand(max = nil)
11
+ FFaker::Random.rand(max)
12
+ end
13
+
14
+ # Performs Array#sample on `list` using a the internal Random Number
15
+ # Generator so that the results are deterministic.
16
+ #
17
+ # * Returns one random item from `list`.
18
+ # * Pass `count: n` in options argument, where `n` is an integer, to
19
+ # return *n* items from `list`
20
+ def fetch_sample(list, options = {})
21
+ if (count = options.delete(:count))
22
+ list.sample(count, random: FFaker::Random)
23
+ elsif list.is_a?(Range)
24
+ FFaker::Random.rand(list)
25
+ else
26
+ list.sample(random: FFaker::Random)
27
+ end
28
+ end
29
+
30
+ # Performs same action as as `Array#suffle` (returns a randomly-reordered
31
+ # copy of `list`) except that it uses the internal Random Number Generator
32
+ # so that the results are deterministic.
33
+ def shuffle(list)
34
+ list.shuffle(random: FFaker::Random)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'set'
4
+
5
+ module FFaker
6
+ class UniqueUtils
7
+ RetryLimitExceeded = Class.new(StandardError)
8
+
9
+ class << self
10
+ def add_instance(generator, max_retries)
11
+ instances[generator] ||= FFaker::UniqueUtils.new(generator, max_retries)
12
+ end
13
+
14
+ def instances
15
+ Thread.current[:ffaker_unique_utils] ||= {}
16
+ end
17
+
18
+ def clear
19
+ instances.each_value(&:clear)
20
+ instances.clear
21
+ end
22
+ end
23
+
24
+ def initialize(generator, max_retries)
25
+ @generator = generator
26
+ @max_retries = max_retries
27
+ end
28
+
29
+ def clear
30
+ previous_results.clear
31
+ end
32
+
33
+ private
34
+
35
+ def method_missing(name, *args, **kwargs)
36
+ @max_retries.times do
37
+ result = @generator.public_send(name, *args, **kwargs)
38
+
39
+ next if previous_results[[name, args, kwargs]].include?(result)
40
+
41
+ previous_results[[name, args, kwargs]] << result
42
+ return result
43
+ end
44
+
45
+ raise RetryLimitExceeded, "Retry limit exceeded for #{name}"
46
+ end
47
+
48
+ def respond_to_missing?(name, *args)
49
+ @generator.respond_to?(name, *args) || super
50
+ end
51
+
52
+ def previous_results
53
+ @previous_results ||= Hash.new { |hash, key| hash[key] = Set.new }
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,175 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'date'
4
+
5
+ module FFaker
6
+ # UUIDs are a 128-bit value (16 bytes), often represented as a
7
+ # 32-character hexadecimal string in the format
8
+ # `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`.
9
+ #
10
+ # @note This generates lowercase strings, but UUIDs are case-insensitive.
11
+ #
12
+ # @see https://www.rfc-editor.org/rfc/rfc4122#section-4
13
+ # @see https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/
14
+ module UUID
15
+ extend ModuleUtils
16
+ extend self
17
+
18
+ # > UUID version 4 is meant for generating UUIDs from truly-random or
19
+ # > pseudo-random numbers.
20
+ def uuidv4
21
+ uuid = 0
22
+ # random_a
23
+ # > The first 48 bits of the layout that can be filled with random data
24
+ # > as specified in Section 6.9. Occupies bits 0 through 47 (octets 0-5).
25
+ uuid |= rand((2**48) - 1) << 80
26
+ # ver
27
+ # > The 4 bit version field as defined by Section 4.2, set to 0b0100 (4).
28
+ # > Occupies bits 48 through 51 of octet 6.
29
+ uuid |= 0b0100 << 76
30
+ # random_b
31
+ # > 12 more bits of the layout that can be filled random data as per
32
+ # > Section 6.9. Occupies bits 52 through 63 (octets 6-7).
33
+ uuid |= rand((2**12) - 1) << 64
34
+ # var
35
+ # > The 2 bit variant field as defined by Section 4.1, set to 0b10.
36
+ # > Occupies bits 64 and 65 of octet 8.
37
+ uuid |= 0b10 << 62
38
+ # random_c
39
+ # > The final 62 bits of the layout immediately following the var field
40
+ # > field to be filled with random data as per Section 6.9. Occupies bits
41
+ # > 66 through 127 (octets 8-15).
42
+ uuid |= rand((2**62) - 1)
43
+
44
+ as_string(uuid)
45
+ end
46
+
47
+ # > UUID version 6 is a field-compatible version of UUIDv1 Section 5.1,
48
+ # > reordered for improved DB locality. It is expected that UUIDv6 will
49
+ # > primarily be used in contexts where UUIDv1 is used. Systems that do not
50
+ # > involve legacy UUIDv1 SHOULD use UUIDv7 instead.
51
+ def uuidv6
52
+ timestamp = rand((2**60) - 1)
53
+
54
+ uuid = 0
55
+ # time_high
56
+ # > The most significant 32 bits of the 60 bit starting timestamp.
57
+ # > Occupies bits 0 through 31 (octets 0-3).
58
+ # @note Shifts 28 bits to remove `time_mid` and `time_low`.
59
+ uuid |= (timestamp >> 28) << 96
60
+ # time_mid
61
+ # > The middle 16 bits of the 60 bit starting timestamp. Occupies bits 32
62
+ # > through 47 (octets 4-5).
63
+ # @note Shifts 12 bits to remove `time_low`.
64
+ uuid |= ((timestamp >> 12) & ((2**16) - 1)) << 80
65
+ # ver
66
+ # > The 4 bit version field as defined by Section 4.2, set to 0b0110 (6).
67
+ # > Occupies bits 48 through 51 of octet 6.
68
+ uuid |= 0b0110 << 76
69
+ # time_low
70
+ # > 12 bits that will contain the least significant 12 bits from the 60
71
+ # > bit starting timestamp. Occupies bits 52 through 63 (octets 6-7).
72
+ uuid |= (timestamp & ((2**12) - 1)) << 64
73
+ # var
74
+ # > The 2 bit variant field as defined by Section 4.1, set to 0b10.
75
+ # > Occupies bits 64 and 65 of octet 8.
76
+ uuid |= 0b10 << 62
77
+ # clk_seq
78
+ # > The 14 bits containing the clock sequence. Occupies bits 66 through
79
+ # > 79 (octets 8-9).
80
+ #
81
+ # (earlier in the document)
82
+ # > The clock sequence and node bits SHOULD be reset to a pseudo-random
83
+ # > value for each new UUIDv6 generated; however, implementations MAY
84
+ # > choose to retain the old clock sequence and MAC address behavior from
85
+ # > Section 5.1.
86
+ uuid |= rand((2**14) - 1) << 48
87
+ # node
88
+ # > 48 bit spatially unique identifier. Occupies bits 80 through 127
89
+ # > (octets 10-15).
90
+ uuid |= rand((2**48) - 1)
91
+
92
+ as_string(uuid)
93
+ end
94
+
95
+ # > UUID version 7 features a time-ordered value field derived from the
96
+ # > widely implemented and well known Unix Epoch timestamp source, the
97
+ # > number of milliseconds since midnight 1 Jan 1970 UTC, leap seconds
98
+ # > excluded. UUIDv7 generally has improved entropy characteristics over
99
+ # > UUIDv1 Section 5.1 or UUIDv6 Section 5.6.
100
+ def uuidv7
101
+ timestamp = rand((2**48) - 1)
102
+
103
+ uuid = 0
104
+ # unix_ts_ms
105
+ # > 48 bit big-endian unsigned number of Unix epoch timestamp in
106
+ # > milliseconds as per Section 6.1. Occupies bits 0 through 47 (octets
107
+ # > 0-5).
108
+ uuid |= timestamp << 80
109
+ # ver
110
+ # > The 4 bit version field as defined by Section 4.2, set to 0b0111 (7).
111
+ # > Occupies bits 48 through 51 of octet 6.
112
+ uuid |= 0b0111 << 76
113
+ # rand_a
114
+ # > 12 bits pseudo-random data to provide uniqueness as per Section 6.9
115
+ # > and/or optional constructs to guarantee additional monotonicity as
116
+ # > per Section 6.2. Occupies bits 52 through 63 (octets 6-7).
117
+ uuid |= rand((2**12) - 1) << 64
118
+ # var
119
+ # > The 2 bit variant field as defined by Section 4.1, set to 0b10.
120
+ # > Occupies bits 64 and 65 of octet 8.
121
+ uuid |= 0b10 << 62
122
+ # rand_b
123
+ # > The final 62 bits of pseudo-random data to provide uniqueness as per
124
+ # > Section 6.9 and/or an optional counter to guarantee additional
125
+ # > monotonicity as per Section 6.2. Occupies bits 66 through 127 (octets
126
+ # > 8-15).
127
+ uuid |= rand((2**62) - 1)
128
+
129
+ as_string(uuid)
130
+ end
131
+
132
+ # > UUID version 8 provides an RFC-compatible format for experimental or
133
+ # > vendor-specific use cases. The only requirement is that the variant and
134
+ # > version bits MUST be set as defined in Section 4.1 and Section 4.2.
135
+ # > UUIDv8's uniqueness will be implementation-specific and MUST NOT be
136
+ # > assumed.
137
+ # >
138
+ # > [...] To be clear: UUIDv8 is not a replacement for UUIDv4 Section 5.4
139
+ # > where all 122 extra bits are filled with random data.
140
+ def uuidv8
141
+ uuid = 0
142
+ # custom_a
143
+ # > The first 48 bits of the layout that can be filled as an
144
+ # > implementation sees fit. Occupies bits 0 through 47 (octets 0-5).
145
+ uuid |= rand((2**48) - 1) << 80
146
+ # ver
147
+ # > The 4 bit version field as defined by Section 4.2, set to 0b1000 (8).
148
+ # > Occupies bits 48 through 51 of octet 6.
149
+ uuid |= 0b1000 << 76
150
+ # custom_b
151
+ # > 12 more bits of the layout that can be filled as an implementation
152
+ # > sees fit. Occupies bits 52 through 63 (octets 6-7).
153
+ uuid |= rand((2**12) - 1) << 64
154
+ # var
155
+ # > The 2 bit variant field as defined by Section 4.1, set to 0b10.
156
+ # > Occupies bits 64 and 65 of octet 8.
157
+ uuid |= 0b10 << 62
158
+ # custom_c
159
+ # > The final 62 bits of the layout immediately following the var field
160
+ # > to be filled as an implementation sees fit. Occupies bits 66 through
161
+ # > 127 (octets 8-15).
162
+ uuid |= rand((2**62) - 1)
163
+
164
+ as_string(uuid)
165
+ end
166
+
167
+ private
168
+
169
+ def as_string(uuid)
170
+ uuid.to_s(16)
171
+ .rjust(32, '0')
172
+ .gsub(/(.{8})(.{4})(.{4})(.{4})(.{12})/, '\1-\2-\3-\4-\5')
173
+ end
174
+ end
175
+ end
@@ -0,0 +1,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ module Vehicle
5
+ module VIN
6
+ extend ModuleUtils
7
+ extend self
8
+
9
+ # https://en.wikibooks.org/wiki/Vehicle_Identification_Numbers_(VIN_codes)/World_Manufacturer_Identifier_(WMI)
10
+ VALID_WMI_REGIONS = [*'A'..'C', *'J'..'N', 'P', *'R'..'Z', *'1'..'9'].freeze
11
+
12
+ VALID_YEAR_CHARS = %w[
13
+ 5 6 7 8 9 A B C D E F G H J K L M N P R S T V W X Y 1 2 3 4 5 6 7 8 9
14
+ ].freeze # 2005-2039
15
+
16
+ # https://en.wikibooks.org/wiki/Vehicle_Identification_Numbers_(VIN_codes)/Check_digit
17
+ TRANSLITERATION_VALUES = {
18
+ 'A' => 1, 'B' => 2, 'C' => 3, 'D' => 4, 'E' => 5, 'F' => 6, 'G' => 7, 'H' => 8,
19
+ 'J' => 1, 'K' => 2, 'L' => 3, 'M' => 4, 'N' => 5, 'P' => 7, 'R' => 9,
20
+ 'S' => 2, 'T' => 3, 'U' => 4, 'V' => 5, 'W' => 6, 'X' => 7, 'Y' => 8, 'Z' => 9
21
+ }.freeze
22
+ POSITION_WEIGHTS = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2].freeze
23
+
24
+ VALID_ALPHA = TRANSLITERATION_VALUES.keys
25
+ VALID_ALPHANUMERIC = [*VALID_ALPHA, *'1'..'9'].freeze
26
+
27
+ # Generate a VIN that is compliant with specifications of US Title 49 Section 565.15
28
+ # https://www.govinfo.gov/content/pkg/CFR-2019-title49-vol6/xml/CFR-2019-title49-vol6-part565.xml#seqnum565.15
29
+ #
30
+ # Position Meaning
31
+ # 1-3 Manufacturer ID aka WMI (alpha and digits)
32
+ # 4-8 Vehicle Description ("For passenger cars ..[position 7].. shall be alphabetic")
33
+ # 9 Check Digit (0-9 or "X")
34
+ # 10 Year (see VIN_VALID_YEARS)
35
+ # 11 Plant of manufacture (alpha and digits)
36
+ # 12-17 Serial number (digits only)
37
+ #
38
+ # I, O and Q are NOT allowed. VIN_VALID_ALPHA has valid alpha characters.
39
+ def vin
40
+ generated_vin = [
41
+ # Manufacturer ID / WMI
42
+ fetch_sample(VALID_WMI_REGIONS),
43
+ fetch_sample(VALID_ALPHANUMERIC, count: 2),
44
+ # Vehicle Description
45
+ fetch_sample(VALID_ALPHANUMERIC, count: 3),
46
+ fetch_sample(VALID_ALPHA),
47
+ fetch_sample(VALID_ALPHANUMERIC),
48
+ '0', # check digit placeholder
49
+ fetch_sample(VALID_YEAR_CHARS), # Year of Manufacture
50
+ fetch_sample(VALID_ALPHANUMERIC), # Plant ID
51
+ FFaker.numerify('######') # Serial Number
52
+ ].join
53
+
54
+ # Calculate the Check Digit
55
+ weighted_sum = generated_vin.chars.each_with_index.sum do |char, idx|
56
+ (TRANSLITERATION_VALUES[char] || char).to_i * POSITION_WEIGHTS[idx]
57
+ end
58
+
59
+ check_digit = weighted_sum % 11
60
+ check_digit = 'X' if check_digit == 10
61
+ generated_vin[8] = check_digit.to_s
62
+
63
+ generated_vin
64
+ end
65
+ end
66
+
67
+ extend ModuleUtils
68
+ extend self
69
+
70
+ DRIVETRAINS = %w[4WD 4X4 AWD FWD RWD].freeze
71
+ YEARS = Array('1900'..(::Time.now.year + 1).to_s).freeze
72
+ TRANSMISSIONS_ABBR = %w[AT MT AM CVT].freeze
73
+ CYLINDERS = %w[2 5 6 8].freeze
74
+
75
+ def base_color
76
+ FFaker::Color.name
77
+ end
78
+
79
+ def drivetrain
80
+ fetch_sample(DRIVETRAINS)
81
+ end
82
+
83
+ def make
84
+ fetch_sample(MAKES_LIST)
85
+ end
86
+
87
+ def manufacturer_color(count = 2)
88
+ # Take two prefixes because it's more fun than one
89
+ (fetch_sample(COLOR_PREFIXES, count: count) + [base_color]).join(' ')
90
+ end
91
+ alias mfg_color manufacturer_color
92
+
93
+ def model
94
+ fetch_sample(MODELS_LIST)
95
+ end
96
+
97
+ def trim
98
+ fetch_sample(TRIMS_LIST)
99
+ end
100
+
101
+ def vin
102
+ VIN.vin
103
+ end
104
+
105
+ def year
106
+ fetch_sample(YEARS)
107
+ end
108
+
109
+ def transmission
110
+ fetch_sample(TRANSMISSIONS_LIST)
111
+ end
112
+
113
+ def transmission_abbr
114
+ fetch_sample(TRANSMISSIONS_ABBR)
115
+ end
116
+
117
+ def engine_cylinders
118
+ fetch_sample(CYLINDERS)
119
+ end
120
+
121
+ def engine_displacement
122
+ fetch_sample(DISPLACEMENTS_LIST)
123
+ end
124
+
125
+ def fuel_type
126
+ fetch_sample(FUEL_TYPES_LIST)
127
+ end
128
+
129
+ def interior_upholstery
130
+ fetch_sample(UPHOLSTERY_LIST)
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ module Venue
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def name
9
+ fetch_sample(VENUE_LIST)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ VERSION = '2.25.0'
5
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ module Youtube
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def url
9
+ "www.youtube.com/watch?v=#{video_id}"
10
+ end
11
+
12
+ def share_url
13
+ "youtu.be/#{video_id}"
14
+ end
15
+
16
+ def embed_url
17
+ "www.youtube.com/embed/#{video_id}"
18
+ end
19
+
20
+ def video_id
21
+ fetch_sample(VIDEO_IDS)
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,130 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'ffaker/version'
4
+ require 'pathname'
5
+
6
+ module FFaker
7
+ require_relative 'ffaker/utils/array_utils'
8
+ require_relative 'ffaker/utils/module_utils'
9
+
10
+ extend ModuleUtils
11
+
12
+ BASE_LIB_PATH = File.expand_path(__dir__)
13
+
14
+ LETTERS = Array('a'..'z').freeze
15
+
16
+ HEX = %w[0 1 2 3 4 5 6 7 8 9 A B C D E F].freeze
17
+
18
+ def self.hexify(*masks)
19
+ fetch_sample(masks.flatten).gsub('#') { fetch_sample(HEX) }
20
+ end
21
+
22
+ def self.numerify(*masks)
23
+ fetch_sample(masks.flatten).gsub('#') { rand(0..9).to_s }
24
+ end
25
+
26
+ def self.letterify(*masks)
27
+ fetch_sample(masks.flatten).gsub('?') { fetch_sample(LETTERS) }
28
+ end
29
+
30
+ def self.bothify(masks)
31
+ letterify(numerify(masks))
32
+ end
33
+
34
+ autoload_acronyms = {
35
+ 'ar' => 'AR',
36
+ 'au' => 'AU',
37
+ 'aws' => 'AWS',
38
+ 'br' => 'BR',
39
+ 'ca' => 'CA',
40
+ 'ch' => 'CH',
41
+ 'cl' => 'CL',
42
+ 'cn' => 'CN',
43
+ 'co' => 'CO',
44
+ 'cs' => 'CS',
45
+ 'cu' => 'CU',
46
+ 'da' => 'DA',
47
+ 'de' => 'DE',
48
+ 'ec' => 'EC',
49
+ 'en' => 'EN',
50
+ 'es' => 'ES',
51
+ 'fi' => 'FI',
52
+ 'fr' => 'FR',
53
+ 'ga' => 'GA',
54
+ 'gr' => 'GR',
55
+ 'html' => 'HTML',
56
+ 'id' => 'ID',
57
+ 'ie' => 'IE',
58
+ 'in' => 'IN',
59
+ 'it' => 'IT',
60
+ 'ja' => 'JA',
61
+ 'jp' => 'JP',
62
+ 'kh' => 'KH',
63
+ 'kr' => 'KR',
64
+ 'mx' => 'MX',
65
+ 'nb' => 'NB',
66
+ 'nl' => 'NL',
67
+ 'ph' => 'PH',
68
+ 'pl' => 'PL',
69
+ 'ru' => 'RU',
70
+ 'se' => 'SE',
71
+ 'sg' => 'SG',
72
+ 'sn' => 'SN',
73
+ 'ssn' => 'SSN',
74
+ 'th' => 'TH',
75
+ 'tw' => 'TW',
76
+ 'ua' => 'UA',
77
+ 'uk' => 'UK',
78
+ 'us' => 'US',
79
+ 'uuid' => 'UUID',
80
+ 'vn' => 'VN'
81
+ }
82
+
83
+ directory = "#{__dir__}/ffaker"
84
+ Dir["#{directory}/*.rb"].each do |file_name|
85
+ relative_file_path = Pathname.new(file_name).relative_path_from(directory).to_s.chomp('.rb')
86
+ ## Don't consider files in sub-directories
87
+ constant_name = relative_file_path.split('_').map do |part|
88
+ autoload_acronyms.fetch(part) { part.capitalize }
89
+ end.join
90
+ autoload constant_name, file_name
91
+ end
92
+
93
+ # Random Number Generator (RNG) used with ModuleUtils#fetch, #shuffle, #rand
94
+ # in order to provide deterministic repeatability.
95
+ module Random
96
+ # Returns the current RNG seed.
97
+ def self.seed
98
+ @seed ||= ::Random.new_seed
99
+ end
100
+
101
+ # Sets the RNG seed and creates a new internal RNG.
102
+ def self.seed=(new_seed)
103
+ @seed = new_seed
104
+ reset!
105
+ new_seed
106
+ end
107
+
108
+ # Reset the RNG back to its initial state.
109
+ def self.reset!
110
+ @rng = new_rng
111
+ end
112
+
113
+ # Returns a random number using an RNG with a known seed.
114
+ def self.rand(max = nil)
115
+ return rng.rand(max) if max
116
+
117
+ rng.rand
118
+ end
119
+
120
+ # Returns the current Random object.
121
+ def self.rng
122
+ @rng ||= new_rng
123
+ end
124
+
125
+ # Returns a new Random object instantiated with #seed.
126
+ def self.new_rng
127
+ ::Random.new(seed)
128
+ end
129
+ end
130
+ end