ffakerTW 0.1.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 (773) hide show
  1. checksums.yaml +7 -0
  2. data/Changelog.md +7 -0
  3. data/Gemfile +8 -0
  4. data/LICENSE +17 -0
  5. data/RANDOM.md +153 -0
  6. data/README.md +31 -0
  7. data/REFERENCE.md +2709 -0
  8. data/Rakefile +152 -0
  9. data/ffakerTW.gemspec +65 -0
  10. data/lib/ffakerTW/address.rb +115 -0
  11. data/lib/ffakerTW/address_au.rb +120 -0
  12. data/lib/ffakerTW/address_br.rb +57 -0
  13. data/lib/ffakerTW/address_ca.rb +32 -0
  14. data/lib/ffakerTW/address_ch.rb +18 -0
  15. data/lib/ffakerTW/address_ch_de.rb +14 -0
  16. data/lib/ffakerTW/address_ch_fr.rb +14 -0
  17. data/lib/ffakerTW/address_ch_it.rb +14 -0
  18. data/lib/ffakerTW/address_da.rb +49 -0
  19. data/lib/ffakerTW/address_de.rb +42 -0
  20. data/lib/ffakerTW/address_fi.rb +44 -0
  21. data/lib/ffakerTW/address_fr.rb +40 -0
  22. data/lib/ffakerTW/address_gr.rb +38 -0
  23. data/lib/ffakerTW/address_id.rb +36 -0
  24. data/lib/ffakerTW/address_in.rb +56 -0
  25. data/lib/ffakerTW/address_it.rb +36 -0
  26. data/lib/ffakerTW/address_ja.rb +83 -0
  27. data/lib/ffakerTW/address_kr.rb +87 -0
  28. data/lib/ffakerTW/address_mx.rb +31 -0
  29. data/lib/ffakerTW/address_nl.rb +43 -0
  30. data/lib/ffakerTW/address_pl.rb +83 -0
  31. data/lib/ffakerTW/address_ru.rb +37 -0
  32. data/lib/ffakerTW/address_se.rb +44 -0
  33. data/lib/ffakerTW/address_sn.rb +22 -0
  34. data/lib/ffakerTW/address_ua.rb +56 -0
  35. data/lib/ffakerTW/address_uk.rb +25 -0
  36. data/lib/ffakerTW/address_us.rb +58 -0
  37. data/lib/ffakerTW/airline.rb +16 -0
  38. data/lib/ffakerTW/animal.rb +14 -0
  39. data/lib/ffakerTW/animal_br.rb +12 -0
  40. data/lib/ffakerTW/animal_cn.rb +12 -0
  41. data/lib/ffakerTW/animal_es.rb +12 -0
  42. data/lib/ffakerTW/animal_pl.rb +15 -0
  43. data/lib/ffakerTW/animal_tw.rb +12 -0
  44. data/lib/ffakerTW/animal_us.rb +12 -0
  45. data/lib/ffakerTW/avatar.rb +36 -0
  46. data/lib/ffakerTW/aws.rb +24 -0
  47. data/lib/ffakerTW/bacon_ipsum.rb +19 -0
  48. data/lib/ffakerTW/bank.rb +118 -0
  49. data/lib/ffakerTW/book.rb +56 -0
  50. data/lib/ffakerTW/boolean.rb +18 -0
  51. data/lib/ffakerTW/cheesy_lingo.rb +39 -0
  52. data/lib/ffakerTW/code.rb +37 -0
  53. data/lib/ffakerTW/color.rb +66 -0
  54. data/lib/ffakerTW/color_pl.rb +14 -0
  55. data/lib/ffakerTW/color_ua.rb +12 -0
  56. data/lib/ffakerTW/company.rb +44 -0
  57. data/lib/ffakerTW/company_cn.rb +23 -0
  58. data/lib/ffakerTW/company_fr.rb +35 -0
  59. data/lib/ffakerTW/company_it.rb +45 -0
  60. data/lib/ffakerTW/company_ja.rb +24 -0
  61. data/lib/ffakerTW/company_se.rb +23 -0
  62. data/lib/ffakerTW/company_tw.rb +23 -0
  63. data/lib/ffakerTW/conference.rb +12 -0
  64. data/lib/ffakerTW/courses_fr.rb +23 -0
  65. data/lib/ffakerTW/currency.rb +20 -0
  66. data/lib/ffakerTW/data/address/city_suffixes +19 -0
  67. data/lib/ffakerTW/data/address/country +249 -0
  68. data/lib/ffakerTW/data/address/country_code +249 -0
  69. data/lib/ffakerTW/data/address/neighborhood +49 -0
  70. data/lib/ffakerTW/data/address/street_suffix +195 -0
  71. data/lib/ffakerTW/data/address/time_zone +130 -0
  72. data/lib/ffakerTW/data/address_br/city +299 -0
  73. data/lib/ffakerTW/data/address_br/complement +3 -0
  74. data/lib/ffakerTW/data/address_br/neighborhood_prefixes +3 -0
  75. data/lib/ffakerTW/data/address_br/state +27 -0
  76. data/lib/ffakerTW/data/address_br/state_abbr +27 -0
  77. data/lib/ffakerTW/data/address_ca/city +181 -0
  78. data/lib/ffakerTW/data/address_ca/province +13 -0
  79. data/lib/ffakerTW/data/address_ch/canton_abbr +26 -0
  80. data/lib/ffakerTW/data/address_chde/canton +26 -0
  81. data/lib/ffakerTW/data/address_chfr/canton +26 -0
  82. data/lib/ffakerTW/data/address_chit/canton +26 -0
  83. data/lib/ffakerTW/data/address_da/city +592 -0
  84. data/lib/ffakerTW/data/address_da/kommune +88 -0
  85. data/lib/ffakerTW/data/address_da/street +657 -0
  86. data/lib/ffakerTW/data/address_de/city +1666 -0
  87. data/lib/ffakerTW/data/address_de/state +15 -0
  88. data/lib/ffakerTW/data/address_fi/city +107 -0
  89. data/lib/ffakerTW/data/address_fi/countries +96 -0
  90. data/lib/ffakerTW/data/address_fi/street +140 -0
  91. data/lib/ffakerTW/data/address_fr/city +261 -0
  92. data/lib/ffakerTW/data/address_fr/region +27 -0
  93. data/lib/ffakerTW/data/address_gr/city +79 -0
  94. data/lib/ffakerTW/data/address_gr/region +13 -0
  95. data/lib/ffakerTW/data/address_gr/street +100 -0
  96. data/lib/ffakerTW/data/address_id/city +102 -0
  97. data/lib/ffakerTW/data/address_id/common_street_names +170 -0
  98. data/lib/ffakerTW/data/address_id/state +33 -0
  99. data/lib/ffakerTW/data/address_id/state_abbr +33 -0
  100. data/lib/ffakerTW/data/address_in/city +24 -0
  101. data/lib/ffakerTW/data/address_in/state +29 -0
  102. data/lib/ffakerTW/data/address_in/state_abbr +29 -0
  103. data/lib/ffakerTW/data/address_in/union_territory +7 -0
  104. data/lib/ffakerTW/data/address_in/union_territory_abbr +7 -0
  105. data/lib/ffakerTW/data/address_it/city +111 -0
  106. data/lib/ffakerTW/data/address_it/region +20 -0
  107. data/lib/ffakerTW/data/address_ja/city +791 -0
  108. data/lib/ffakerTW/data/address_ja/county +98 -0
  109. data/lib/ffakerTW/data/address_ja/designated_city +20 -0
  110. data/lib/ffakerTW/data/address_ja/prefecture +47 -0
  111. data/lib/ffakerTW/data/address_ja/street +37 -0
  112. data/lib/ffakerTW/data/address_ja/tokyo_ward +23 -0
  113. data/lib/ffakerTW/data/address_ja/village +183 -0
  114. data/lib/ffakerTW/data/address_ja/ward +188 -0
  115. data/lib/ffakerTW/data/address_kr/boroughs +29 -0
  116. data/lib/ffakerTW/data/address_kr/cities +51 -0
  117. data/lib/ffakerTW/data/address_mx/ags +11 -0
  118. data/lib/ffakerTW/data/address_mx/bc +5 -0
  119. data/lib/ffakerTW/data/address_mx/bcs +5 -0
  120. data/lib/ffakerTW/data/address_mx/camp +11 -0
  121. data/lib/ffakerTW/data/address_mx/chih +67 -0
  122. data/lib/ffakerTW/data/address_mx/chis +118 -0
  123. data/lib/ffakerTW/data/address_mx/coah +38 -0
  124. data/lib/ffakerTW/data/address_mx/col +10 -0
  125. data/lib/ffakerTW/data/address_mx/df +16 -0
  126. data/lib/ffakerTW/data/address_mx/dgo +39 -0
  127. data/lib/ffakerTW/data/address_mx/gro +81 -0
  128. data/lib/ffakerTW/data/address_mx/gto +46 -0
  129. data/lib/ffakerTW/data/address_mx/hgo +84 -0
  130. data/lib/ffakerTW/data/address_mx/jal +125 -0
  131. data/lib/ffakerTW/data/address_mx/mex +125 -0
  132. data/lib/ffakerTW/data/address_mx/mich +113 -0
  133. data/lib/ffakerTW/data/address_mx/mor +33 -0
  134. data/lib/ffakerTW/data/address_mx/nay +20 -0
  135. data/lib/ffakerTW/data/address_mx/nl +51 -0
  136. data/lib/ffakerTW/data/address_mx/oax +570 -0
  137. data/lib/ffakerTW/data/address_mx/pue +217 -0
  138. data/lib/ffakerTW/data/address_mx/qr +10 -0
  139. data/lib/ffakerTW/data/address_mx/qro +18 -0
  140. data/lib/ffakerTW/data/address_mx/sin +18 -0
  141. data/lib/ffakerTW/data/address_mx/slp +58 -0
  142. data/lib/ffakerTW/data/address_mx/son +72 -0
  143. data/lib/ffakerTW/data/address_mx/state +32 -0
  144. data/lib/ffakerTW/data/address_mx/state_abbr +32 -0
  145. data/lib/ffakerTW/data/address_mx/tab +17 -0
  146. data/lib/ffakerTW/data/address_mx/tamps +43 -0
  147. data/lib/ffakerTW/data/address_mx/tlax +60 -0
  148. data/lib/ffakerTW/data/address_mx/ver +212 -0
  149. data/lib/ffakerTW/data/address_mx/yuc +106 -0
  150. data/lib/ffakerTW/data/address_mx/zac +58 -0
  151. data/lib/ffakerTW/data/address_nl/city +2226 -0
  152. data/lib/ffakerTW/data/address_nl/province +12 -0
  153. data/lib/ffakerTW/data/address_pl/city +916 -0
  154. data/lib/ffakerTW/data/address_pl/square +390 -0
  155. data/lib/ffakerTW/data/address_pl/street +390 -0
  156. data/lib/ffakerTW/data/address_pl/voivodeship +16 -0
  157. data/lib/ffakerTW/data/address_pl/voivodeship_abbr +16 -0
  158. data/lib/ffakerTW/data/address_pl/voivodeship_capital_city +18 -0
  159. data/lib/ffakerTW/data/address_ru/city +74 -0
  160. data/lib/ffakerTW/data/address_ru/province +83 -0
  161. data/lib/ffakerTW/data/address_ru/street +49 -0
  162. data/lib/ffakerTW/data/address_se/city +154 -0
  163. data/lib/ffakerTW/data/address_se/countries +250 -0
  164. data/lib/ffakerTW/data/address_se/street +2887 -0
  165. data/lib/ffakerTW/data/address_sn/arrondissements +47 -0
  166. data/lib/ffakerTW/data/address_sn/departements +43 -0
  167. data/lib/ffakerTW/data/address_sn/regions +14 -0
  168. data/lib/ffakerTW/data/address_ua/city +57 -0
  169. data/lib/ffakerTW/data/address_ua/country +193 -0
  170. data/lib/ffakerTW/data/address_ua/province +27 -0
  171. data/lib/ffakerTW/data/address_ua/street +13 -0
  172. data/lib/ffakerTW/data/address_uk/county +70 -0
  173. data/lib/ffakerTW/data/address_us/state +50 -0
  174. data/lib/ffakerTW/data/address_us/state_abbr +50 -0
  175. data/lib/ffakerTW/data/address_us/state_and_territories_abbr +62 -0
  176. data/lib/ffakerTW/data/airline/codes_list +209 -0
  177. data/lib/ffakerTW/data/airline/names_list +206 -0
  178. data/lib/ffakerTW/data/animal/common_names +141 -0
  179. data/lib/ffakerTW/data/animal_br/common_names +423 -0
  180. data/lib/ffakerTW/data/animal_cn/common_names +141 -0
  181. data/lib/ffakerTW/data/animal_es/common_names +135 -0
  182. data/lib/ffakerTW/data/animal_pl/common_names +256 -0
  183. data/lib/ffakerTW/data/animal_tw/common_names +141 -0
  184. data/lib/ffakerTW/data/animal_us/common_names +141 -0
  185. data/lib/ffakerTW/data/aws/ec2_instance_type +59 -0
  186. data/lib/ffakerTW/data/aws/ec2_reserved_instance_tenancy +3 -0
  187. data/lib/ffakerTW/data/aws/ec2_reserved_offering_type +6 -0
  188. data/lib/ffakerTW/data/aws/ec2_reserved_product_description +14 -0
  189. data/lib/ffakerTW/data/bacon_ipsum/bacon_words +62 -0
  190. data/lib/ffakerTW/data/bank/card_types +12 -0
  191. data/lib/ffakerTW/data/book/adj_and_adv +20 -0
  192. data/lib/ffakerTW/data/book/genres +369 -0
  193. data/lib/ffakerTW/data/book/nouns +36 -0
  194. data/lib/ffakerTW/data/book/prefixes +17 -0
  195. data/lib/ffakerTW/data/cheesy_lingo/cheesy_phrases +54 -0
  196. data/lib/ffakerTW/data/cheesy_lingo/cheesy_words +34 -0
  197. data/lib/ffakerTW/data/color/names_list +147 -0
  198. data/lib/ffakerTW/data/color_pl/names_list +122 -0
  199. data/lib/ffakerTW/data/color_ua/names_list +114 -0
  200. data/lib/ffakerTW/data/company/bs_mid +65 -0
  201. data/lib/ffakerTW/data/company/bs_pos +44 -0
  202. data/lib/ffakerTW/data/company/bs_pre +60 -0
  203. data/lib/ffakerTW/data/company/catch_mid +101 -0
  204. data/lib/ffakerTW/data/company/catch_pos +104 -0
  205. data/lib/ffakerTW/data/company/catch_pre +100 -0
  206. data/lib/ffakerTW/data/company/position_areas +11 -0
  207. data/lib/ffakerTW/data/company_it/piva_office_codes +99 -0
  208. data/lib/ffakerTW/data/conference/conference_list +40 -0
  209. data/lib/ffakerTW/data/currency/currency_code +169 -0
  210. data/lib/ffakerTW/data/currency/currency_name +169 -0
  211. data/lib/ffakerTW/data/currency/currency_symbol +8 -0
  212. data/lib/ffakerTW/data/dizzle_ipsum/dizzle_words +69 -0
  213. data/lib/ffakerTW/data/education/degree_prefix +274 -0
  214. data/lib/ffakerTW/data/education/degree_short_prefix +19 -0
  215. data/lib/ffakerTW/data/education/major_noun +13 -0
  216. data/lib/ffakerTW/data/education/school_suffix +13 -0
  217. data/lib/ffakerTW/data/education_cn/city +351 -0
  218. data/lib/ffakerTW/data/education_cn/major +506 -0
  219. data/lib/ffakerTW/data/education_cn/province +31 -0
  220. data/lib/ffakerTW/data/education_cn/school_type +27 -0
  221. data/lib/ffakerTW/data/education_tw/city +20 -0
  222. data/lib/ffakerTW/data/education_tw/major +506 -0
  223. data/lib/ffakerTW/data/education_tw/school_type +27 -0
  224. data/lib/ffakerTW/data/filesystem/extension +32 -0
  225. data/lib/ffakerTW/data/filesystem/mime_type +67 -0
  226. data/lib/ffakerTW/data/food/fruit +82 -0
  227. data/lib/ffakerTW/data/food/herb_spice +64 -0
  228. data/lib/ffakerTW/data/food/meat +48 -0
  229. data/lib/ffakerTW/data/food/vegetable +207 -0
  230. data/lib/ffakerTW/data/food_pl/diary +14 -0
  231. data/lib/ffakerTW/data/food_pl/fermented +13 -0
  232. data/lib/ffakerTW/data/food_pl/fruits +34 -0
  233. data/lib/ffakerTW/data/food_pl/herbs +20 -0
  234. data/lib/ffakerTW/data/food_pl/meats +9 -0
  235. data/lib/ffakerTW/data/food_pl/preserves +10 -0
  236. data/lib/ffakerTW/data/food_pl/spices +26 -0
  237. data/lib/ffakerTW/data/food_pl/vegetables +45 -0
  238. data/lib/ffakerTW/data/freedom_ipsum/freedom_words +161 -0
  239. data/lib/ffakerTW/data/game/adj_and_adv +18 -0
  240. data/lib/ffakerTW/data/game/category +84 -0
  241. data/lib/ffakerTW/data/game/mechanic +182 -0
  242. data/lib/ffakerTW/data/game/nouns +37 -0
  243. data/lib/ffakerTW/data/game/prefixes +17 -0
  244. data/lib/ffakerTW/data/healthcare_ipsum/healthcare_words +193 -0
  245. data/lib/ffakerTW/data/healthcare_ru/doctor_specialization +127 -0
  246. data/lib/ffakerTW/data/hipster_ipsum/hipster_words +101 -0
  247. data/lib/ffakerTW/data/identification_mx/estados_curp +33 -0
  248. data/lib/ffakerTW/data/job/job_adj +37 -0
  249. data/lib/ffakerTW/data/job/job_noun +25 -0
  250. data/lib/ffakerTW/data/job/job_prefix +22 -0
  251. data/lib/ffakerTW/data/job_br/job_nouns +52 -0
  252. data/lib/ffakerTW/data/job_cn/job_nouns +300 -0
  253. data/lib/ffakerTW/data/job_fr/job_nouns +14 -0
  254. data/lib/ffakerTW/data/job_fr/job_prefixes +15 -0
  255. data/lib/ffakerTW/data/job_it/job_adj +37 -0
  256. data/lib/ffakerTW/data/job_it/job_noun +25 -0
  257. data/lib/ffakerTW/data/job_it/job_prefix +22 -0
  258. data/lib/ffakerTW/data/job_ja/job_nouns +235 -0
  259. data/lib/ffakerTW/data/job_kr/job_nouns +1209 -0
  260. data/lib/ffakerTW/data/job_tw/job_nouns +300 -0
  261. data/lib/ffakerTW/data/job_vn/job_nouns +191 -0
  262. data/lib/ffakerTW/data/locale/language +136 -0
  263. data/lib/ffakerTW/data/locale/language_code +136 -0
  264. data/lib/ffakerTW/data/lorem/characters +36 -0
  265. data/lib/ffakerTW/data/lorem/words +182 -0
  266. data/lib/ffakerTW/data/lorem_ar/words +911 -0
  267. data/lib/ffakerTW/data/lorem_br/characters +36 -0
  268. data/lib/ffakerTW/data/lorem_br/words +183 -0
  269. data/lib/ffakerTW/data/lorem_cn/words +706 -0
  270. data/lib/ffakerTW/data/lorem_fr/words +229 -0
  271. data/lib/ffakerTW/data/lorem_ie/characters +5 -0
  272. data/lib/ffakerTW/data/lorem_ie/paragraphs +2 -0
  273. data/lib/ffakerTW/data/lorem_ie/questions +1 -0
  274. data/lib/ffakerTW/data/lorem_ie/sentences +1 -0
  275. data/lib/ffakerTW/data/lorem_ie/words +107 -0
  276. data/lib/ffakerTW/data/lorem_it/words +321 -0
  277. data/lib/ffakerTW/data/lorem_ja/characters +101 -0
  278. data/lib/ffakerTW/data/lorem_ja/sentences +30 -0
  279. data/lib/ffakerTW/data/lorem_ja/sentences_end +21 -0
  280. data/lib/ffakerTW/data/lorem_ja/words +81 -0
  281. data/lib/ffakerTW/data/lorem_kr/words +47 -0
  282. data/lib/ffakerTW/data/lorem_pl/characters +32 -0
  283. data/lib/ffakerTW/data/lorem_pl/words +245 -0
  284. data/lib/ffakerTW/data/lorem_ru/capital_chars +33 -0
  285. data/lib/ffakerTW/data/lorem_ru/chars +33 -0
  286. data/lib/ffakerTW/data/lorem_ru/words +191 -0
  287. data/lib/ffakerTW/data/lorem_tw/words +706 -0
  288. data/lib/ffakerTW/data/lorem_ua/capital_chars +33 -0
  289. data/lib/ffakerTW/data/lorem_ua/chars +33 -0
  290. data/lib/ffakerTW/data/lorem_ua/words +362 -0
  291. data/lib/ffakerTW/data/mathematiques/lessons +58 -0
  292. data/lib/ffakerTW/data/movie/adj_and_adv +20 -0
  293. data/lib/ffakerTW/data/movie/nouns +36 -0
  294. data/lib/ffakerTW/data/movie/prefixes +17 -0
  295. data/lib/ffakerTW/data/music/albums +91 -0
  296. data/lib/ffakerTW/data/music/artists +100 -0
  297. data/lib/ffakerTW/data/music/genres +20 -0
  298. data/lib/ffakerTW/data/music/songs +100 -0
  299. data/lib/ffakerTW/data/name/first_names_female +4045 -0
  300. data/lib/ffakerTW/data/name/first_names_male +1182 -0
  301. data/lib/ffakerTW/data/name/last_names +474 -0
  302. data/lib/ffakerTW/data/name/pronouns +6 -0
  303. data/lib/ffakerTW/data/name_ar/first_names_female +250 -0
  304. data/lib/ffakerTW/data/name_ar/first_names_male +567 -0
  305. data/lib/ffakerTW/data/name_ar/last_names +357 -0
  306. data/lib/ffakerTW/data/name_br/first_names_female +1068 -0
  307. data/lib/ffakerTW/data/name_br/first_names_male +607 -0
  308. data/lib/ffakerTW/data/name_br/last_names +77 -0
  309. data/lib/ffakerTW/data/name_cn/first_names +1000 -0
  310. data/lib/ffakerTW/data/name_cn/last_names +1057 -0
  311. data/lib/ffakerTW/data/name_cs/female_first_names +40 -0
  312. data/lib/ffakerTW/data/name_cs/female_last_names +50 -0
  313. data/lib/ffakerTW/data/name_cs/male_first_names +88 -0
  314. data/lib/ffakerTW/data/name_cs/male_last_names +49 -0
  315. data/lib/ffakerTW/data/name_cs/prefixes +16 -0
  316. data/lib/ffakerTW/data/name_da/female_first_names +303 -0
  317. data/lib/ffakerTW/data/name_da/last_names +187 -0
  318. data/lib/ffakerTW/data/name_da/male_first_names +301 -0
  319. data/lib/ffakerTW/data/name_de/first_names +1166 -0
  320. data/lib/ffakerTW/data/name_de/last_names +100 -0
  321. data/lib/ffakerTW/data/name_es/first_names_female +184 -0
  322. data/lib/ffakerTW/data/name_es/first_names_male +165 -0
  323. data/lib/ffakerTW/data/name_es/last_names +208 -0
  324. data/lib/ffakerTW/data/name_fr/first_names +220 -0
  325. data/lib/ffakerTW/data/name_fr/last_names +408 -0
  326. data/lib/ffakerTW/data/name_ga/first_names_female +225 -0
  327. data/lib/ffakerTW/data/name_ga/first_names_male +306 -0
  328. data/lib/ffakerTW/data/name_gr/female_first_names +80 -0
  329. data/lib/ffakerTW/data/name_gr/female_last_names +45 -0
  330. data/lib/ffakerTW/data/name_gr/male_first_names +90 -0
  331. data/lib/ffakerTW/data/name_gr/male_last_names +57 -0
  332. data/lib/ffakerTW/data/name_id/first_names_female +267 -0
  333. data/lib/ffakerTW/data/name_id/first_names_male +312 -0
  334. data/lib/ffakerTW/data/name_id/last_names +1669 -0
  335. data/lib/ffakerTW/data/name_in/first_names_female +100 -0
  336. data/lib/ffakerTW/data/name_in/first_names_male +100 -0
  337. data/lib/ffakerTW/data/name_in/last_names +100 -0
  338. data/lib/ffakerTW/data/name_it/first_names +171 -0
  339. data/lib/ffakerTW/data/name_it/last_names +70 -0
  340. data/lib/ffakerTW/data/name_ja/first_names +397 -0
  341. data/lib/ffakerTW/data/name_ja/last_names +1078 -0
  342. data/lib/ffakerTW/data/name_kh/first_names +64 -0
  343. data/lib/ffakerTW/data/name_kh/last_names +71 -0
  344. data/lib/ffakerTW/data/name_kh/nick_names +30 -0
  345. data/lib/ffakerTW/data/name_kr/first_names +1317 -0
  346. data/lib/ffakerTW/data/name_kr/last_names +197 -0
  347. data/lib/ffakerTW/data/name_mx/female_first_names +216 -0
  348. data/lib/ffakerTW/data/name_mx/last_names +352 -0
  349. data/lib/ffakerTW/data/name_mx/male_first_names +211 -0
  350. data/lib/ffakerTW/data/name_nb/first_names_female +50 -0
  351. data/lib/ffakerTW/data/name_nb/first_names_male +50 -0
  352. data/lib/ffakerTW/data/name_nb/last_names +100 -0
  353. data/lib/ffakerTW/data/name_nl/first_names_female +89 -0
  354. data/lib/ffakerTW/data/name_nl/first_names_male +75 -0
  355. data/lib/ffakerTW/data/name_nl/last_names +115 -0
  356. data/lib/ffakerTW/data/name_ph/autochthonous_surnames +217 -0
  357. data/lib/ffakerTW/data/name_ph/spanish_surnames +300 -0
  358. data/lib/ffakerTW/data/name_pl/female_first_names +121 -0
  359. data/lib/ffakerTW/data/name_pl/female_last_names +200 -0
  360. data/lib/ffakerTW/data/name_pl/male_first_names +121 -0
  361. data/lib/ffakerTW/data/name_pl/male_last_names +200 -0
  362. data/lib/ffakerTW/data/name_ru/first_names_female +91 -0
  363. data/lib/ffakerTW/data/name_ru/first_names_male +172 -0
  364. data/lib/ffakerTW/data/name_ru/last_names_female +100 -0
  365. data/lib/ffakerTW/data/name_ru/last_names_male +100 -0
  366. data/lib/ffakerTW/data/name_ru/middle_names_female +65 -0
  367. data/lib/ffakerTW/data/name_ru/middle_names_male +73 -0
  368. data/lib/ffakerTW/data/name_se/first_names_female +110 -0
  369. data/lib/ffakerTW/data/name_se/first_names_male +110 -0
  370. data/lib/ffakerTW/data/name_se/last_names +100 -0
  371. data/lib/ffakerTW/data/name_sn/first_names_female +225 -0
  372. data/lib/ffakerTW/data/name_sn/first_names_male +304 -0
  373. data/lib/ffakerTW/data/name_sn/last_names +243 -0
  374. data/lib/ffakerTW/data/name_th/first_names +360 -0
  375. data/lib/ffakerTW/data/name_th/last_names +15 -0
  376. data/lib/ffakerTW/data/name_th/nick_names +74 -0
  377. data/lib/ffakerTW/data/name_then/first_names +292 -0
  378. data/lib/ffakerTW/data/name_then/last_names +63 -0
  379. data/lib/ffakerTW/data/name_then/nick_names +30 -0
  380. data/lib/ffakerTW/data/name_tw/first_names +122 -0
  381. data/lib/ffakerTW/data/name_tw/last_names +100 -0
  382. data/lib/ffakerTW/data/name_tw/name_tw/first_names +1000 -0
  383. data/lib/ffakerTW/data/name_tw/name_tw/last_names +243 -0
  384. data/lib/ffakerTW/data/name_ua/first_names_female +193 -0
  385. data/lib/ffakerTW/data/name_ua/first_names_male +195 -0
  386. data/lib/ffakerTW/data/name_ua/last_names_female +230 -0
  387. data/lib/ffakerTW/data/name_ua/last_names_male +239 -0
  388. data/lib/ffakerTW/data/name_ua/middle_names_female +116 -0
  389. data/lib/ffakerTW/data/name_ua/middle_names_male +116 -0
  390. data/lib/ffakerTW/data/name_vn/first_names +6 -0
  391. data/lib/ffakerTW/data/name_vn/last_names +67 -0
  392. data/lib/ffakerTW/data/name_vn/middle_names +89 -0
  393. data/lib/ffakerTW/data/nato_alphabet/alphabet_codes +26 -0
  394. data/lib/ffakerTW/data/nato_alphabet/numeric_codes +10 -0
  395. data/lib/ffakerTW/data/philosophie/lessons +17 -0
  396. data/lib/ffakerTW/data/phone_number/phone_calling_code +205 -0
  397. data/lib/ffakerTW/data/phone_number_id/home_phone_prefixes +303 -0
  398. data/lib/ffakerTW/data/phone_number_id/mobile_phone_prefixes +33 -0
  399. data/lib/ffakerTW/data/phone_number_it/home_phone_prefixes +232 -0
  400. data/lib/ffakerTW/data/phone_number_it/mobile_phone_prefixes +18 -0
  401. data/lib/ffakerTW/data/phone_number_ja/four_disit_area_codes +41 -0
  402. data/lib/ffakerTW/data/phone_number_ja/one_disit_area_codes +3 -0
  403. data/lib/ffakerTW/data/phone_number_ja/three_disit_area_codes +296 -0
  404. data/lib/ffakerTW/data/phone_number_ja/two_disit_area_codes +48 -0
  405. data/lib/ffakerTW/data/phone_number_nl/area_codes +142 -0
  406. data/lib/ffakerTW/data/phone_number_ru/home_phone_prefixes +107 -0
  407. data/lib/ffakerTW/data/phone_number_ru/mobile_phone_prefixes +61 -0
  408. data/lib/ffakerTW/data/phone_number_se/phone_prefix +265 -0
  409. data/lib/ffakerTW/data/phone_number_ua/home_phone_prefixes +29 -0
  410. data/lib/ffakerTW/data/phone_number_ua/mobile_phone_prefixes +11 -0
  411. data/lib/ffakerTW/data/product/adj +19 -0
  412. data/lib/ffakerTW/data/product/b1 +19 -0
  413. data/lib/ffakerTW/data/product/noun +19 -0
  414. data/lib/ffakerTW/data/skill/specialty_end +14 -0
  415. data/lib/ffakerTW/data/skill/specialty_start +18 -0
  416. data/lib/ffakerTW/data/skill/tech_skills +52 -0
  417. data/lib/ffakerTW/data/sport/names +67 -0
  418. data/lib/ffakerTW/data/sport_pl/summer +53 -0
  419. data/lib/ffakerTW/data/sport_pl/winter +14 -0
  420. data/lib/ffakerTW/data/sport_ru/summer +68 -0
  421. data/lib/ffakerTW/data/sport_ru/winter +20 -0
  422. data/lib/ffakerTW/data/sport_us/names +67 -0
  423. data/lib/ffakerTW/data/tweet/hashtag +58 -0
  424. data/lib/ffakerTW/data/vehicle/color_prefixes +25 -0
  425. data/lib/ffakerTW/data/vehicle/displacements_list +21 -0
  426. data/lib/ffakerTW/data/vehicle/fuel_types_list +6 -0
  427. data/lib/ffakerTW/data/vehicle/makes_list +73 -0
  428. data/lib/ffakerTW/data/vehicle/models_list +106 -0
  429. data/lib/ffakerTW/data/vehicle/transmissions_list +4 -0
  430. data/lib/ffakerTW/data/vehicle/trims_list +13 -0
  431. data/lib/ffakerTW/data/vehicle/upholstery_list +5 -0
  432. data/lib/ffakerTW/data/venue/venue_list +33 -0
  433. data/lib/ffakerTW/data/youtube/video_ids +50 -0
  434. data/lib/ffakerTW/dizzle_ipsum.rb +19 -0
  435. data/lib/ffakerTW/education.rb +49 -0
  436. data/lib/ffakerTW/education_cn.rb +37 -0
  437. data/lib/ffakerTW/education_tw.rb +37 -0
  438. data/lib/ffakerTW/filesystem.rb +25 -0
  439. data/lib/ffakerTW/food.rb +28 -0
  440. data/lib/ffakerTW/food_pl.rb +65 -0
  441. data/lib/ffakerTW/freedom_ipsum.rb +20 -0
  442. data/lib/ffakerTW/game.rb +33 -0
  443. data/lib/ffakerTW/gender.rb +22 -0
  444. data/lib/ffakerTW/gender_br.rb +17 -0
  445. data/lib/ffakerTW/gender_cn.rb +17 -0
  446. data/lib/ffakerTW/gender_id.rb +17 -0
  447. data/lib/ffakerTW/gender_it.rb +17 -0
  448. data/lib/ffakerTW/gender_ja.rb +18 -0
  449. data/lib/ffakerTW/gender_jp.rb +11 -0
  450. data/lib/ffakerTW/gender_kr.rb +17 -0
  451. data/lib/ffakerTW/gender_pl.rb +19 -0
  452. data/lib/ffakerTW/gender_ru.rb +22 -0
  453. data/lib/ffakerTW/gender_tw.rb +17 -0
  454. data/lib/ffakerTW/geolocation.rb +60 -0
  455. data/lib/ffakerTW/guid.rb +12 -0
  456. data/lib/ffakerTW/healthcare_ipsum.rb +18 -0
  457. data/lib/ffakerTW/healthcare_ru.rb +12 -0
  458. data/lib/ffakerTW/hipster_ipsum.rb +19 -0
  459. data/lib/ffakerTW/html_ipsum.rb +186 -0
  460. data/lib/ffakerTW/identification.rb +30 -0
  461. data/lib/ffakerTW/identification_br.rb +84 -0
  462. data/lib/ffakerTW/identification_es.rb +14 -0
  463. data/lib/ffakerTW/identification_es_cl.rb +29 -0
  464. data/lib/ffakerTW/identification_es_co.rb +39 -0
  465. data/lib/ffakerTW/identification_in.rb +15 -0
  466. data/lib/ffakerTW/identification_it.rb +30 -0
  467. data/lib/ffakerTW/identification_kr.rb +19 -0
  468. data/lib/ffakerTW/identification_mx.rb +58 -0
  469. data/lib/ffakerTW/identification_pl.rb +77 -0
  470. data/lib/ffakerTW/identification_tw.rb +24 -0
  471. data/lib/ffakerTW/image.rb +48 -0
  472. data/lib/ffakerTW/internet.rb +90 -0
  473. data/lib/ffakerTW/internet_se.rb +108 -0
  474. data/lib/ffakerTW/job.rb +12 -0
  475. data/lib/ffakerTW/job_br.rb +12 -0
  476. data/lib/ffakerTW/job_cn.rb +12 -0
  477. data/lib/ffakerTW/job_fr.rb +18 -0
  478. data/lib/ffakerTW/job_it.rb +12 -0
  479. data/lib/ffakerTW/job_ja.rb +12 -0
  480. data/lib/ffakerTW/job_kr.rb +12 -0
  481. data/lib/ffakerTW/job_tw.rb +12 -0
  482. data/lib/ffakerTW/job_vn.rb +12 -0
  483. data/lib/ffakerTW/locale.rb +22 -0
  484. data/lib/ffakerTW/lorem.rb +45 -0
  485. data/lib/ffakerTW/lorem_ar.rb +40 -0
  486. data/lib/ffakerTW/lorem_br.rb +45 -0
  487. data/lib/ffakerTW/lorem_cn.rb +40 -0
  488. data/lib/ffakerTW/lorem_fr.rb +39 -0
  489. data/lib/ffakerTW/lorem_ie.rb +40 -0
  490. data/lib/ffakerTW/lorem_it.rb +39 -0
  491. data/lib/ffakerTW/lorem_ja.rb +40 -0
  492. data/lib/ffakerTW/lorem_kr.rb +36 -0
  493. data/lib/ffakerTW/lorem_pl.rb +60 -0
  494. data/lib/ffakerTW/lorem_ru.rb +57 -0
  495. data/lib/ffakerTW/lorem_tw.rb +40 -0
  496. data/lib/ffakerTW/lorem_ua.rb +54 -0
  497. data/lib/ffakerTW/movie.rb +69 -0
  498. data/lib/ffakerTW/music.rb +24 -0
  499. data/lib/ffakerTW/name.rb +121 -0
  500. data/lib/ffakerTW/name_ar.rb +28 -0
  501. data/lib/ffakerTW/name_br.rb +62 -0
  502. data/lib/ffakerTW/name_cn.rb +24 -0
  503. data/lib/ffakerTW/name_cs.rb +87 -0
  504. data/lib/ffakerTW/name_da.rb +56 -0
  505. data/lib/ffakerTW/name_de.rb +31 -0
  506. data/lib/ffakerTW/name_es.rb +64 -0
  507. data/lib/ffakerTW/name_fr.rb +34 -0
  508. data/lib/ffakerTW/name_ga.rb +39 -0
  509. data/lib/ffakerTW/name_gr.rb +59 -0
  510. data/lib/ffakerTW/name_id.rb +62 -0
  511. data/lib/ffakerTW/name_in.rb +39 -0
  512. data/lib/ffakerTW/name_it.rb +31 -0
  513. data/lib/ffakerTW/name_ja.rb +22 -0
  514. data/lib/ffakerTW/name_kh.rb +24 -0
  515. data/lib/ffakerTW/name_kr.rb +26 -0
  516. data/lib/ffakerTW/name_mx.rb +101 -0
  517. data/lib/ffakerTW/name_nb.rb +44 -0
  518. data/lib/ffakerTW/name_nl.rb +48 -0
  519. data/lib/ffakerTW/name_ph.rb +25 -0
  520. data/lib/ffakerTW/name_pl.rb +98 -0
  521. data/lib/ffakerTW/name_ru.rb +55 -0
  522. data/lib/ffakerTW/name_se.rb +44 -0
  523. data/lib/ffakerTW/name_sn.rb +56 -0
  524. data/lib/ffakerTW/name_th.rb +25 -0
  525. data/lib/ffakerTW/name_th_en.rb +26 -0
  526. data/lib/ffakerTW/name_tw.rb +24 -0
  527. data/lib/ffakerTW/name_ua.rb +57 -0
  528. data/lib/ffakerTW/name_vn.rb +28 -0
  529. data/lib/ffakerTW/nato_alphabet.rb +38 -0
  530. data/lib/ffakerTW/number.rb +26 -0
  531. data/lib/ffakerTW/phone_number.rb +80 -0
  532. data/lib/ffakerTW/phone_number_au.rb +76 -0
  533. data/lib/ffakerTW/phone_number_br.rb +77 -0
  534. data/lib/ffakerTW/phone_number_ch.rb +46 -0
  535. data/lib/ffakerTW/phone_number_cu.rb +122 -0
  536. data/lib/ffakerTW/phone_number_da.rb +43 -0
  537. data/lib/ffakerTW/phone_number_de.rb +50 -0
  538. data/lib/ffakerTW/phone_number_fr.rb +65 -0
  539. data/lib/ffakerTW/phone_number_id.rb +36 -0
  540. data/lib/ffakerTW/phone_number_it.rb +44 -0
  541. data/lib/ffakerTW/phone_number_ja.rb +88 -0
  542. data/lib/ffakerTW/phone_number_kr.rb +50 -0
  543. data/lib/ffakerTW/phone_number_mx.rb +56 -0
  544. data/lib/ffakerTW/phone_number_nl.rb +46 -0
  545. data/lib/ffakerTW/phone_number_pl.rb +68 -0
  546. data/lib/ffakerTW/phone_number_ru.rb +120 -0
  547. data/lib/ffakerTW/phone_number_se.rb +88 -0
  548. data/lib/ffakerTW/phone_number_sg.rb +81 -0
  549. data/lib/ffakerTW/phone_number_sn.rb +71 -0
  550. data/lib/ffakerTW/phone_number_tw.rb +49 -0
  551. data/lib/ffakerTW/phone_number_ua.rb +42 -0
  552. data/lib/ffakerTW/product.rb +47 -0
  553. data/lib/ffakerTW/sem_ver.rb +19 -0
  554. data/lib/ffakerTW/skill.rb +24 -0
  555. data/lib/ffakerTW/sport.rb +14 -0
  556. data/lib/ffakerTW/sport_pl.rb +25 -0
  557. data/lib/ffakerTW/sport_ru.rb +25 -0
  558. data/lib/ffakerTW/sport_us.rb +12 -0
  559. data/lib/ffakerTW/ssn.rb +22 -0
  560. data/lib/ffakerTW/ssn_mx.rb +56 -0
  561. data/lib/ffakerTW/ssn_se.rb +80 -0
  562. data/lib/ffakerTW/string.rb +110 -0
  563. data/lib/ffakerTW/time.rb +65 -0
  564. data/lib/ffakerTW/tweet.rb +59 -0
  565. data/lib/ffakerTW/unit.rb +48 -0
  566. data/lib/ffakerTW/unit_english.rb +107 -0
  567. data/lib/ffakerTW/unit_metric.rb +98 -0
  568. data/lib/ffakerTW/utils/array_utils.rb +53 -0
  569. data/lib/ffakerTW/utils/module_utils.rb +59 -0
  570. data/lib/ffakerTW/utils/random_utils.rb +37 -0
  571. data/lib/ffakerTW/utils/unique_utils.rb +44 -0
  572. data/lib/ffakerTW/vehicle.rb +133 -0
  573. data/lib/ffakerTW/venue.rb +12 -0
  574. data/lib/ffakerTW/version.rb +5 -0
  575. data/lib/ffakerTW/youtube.rb +24 -0
  576. data/lib/ffakerTW.rb +263 -0
  577. data/lib/version.rb +5 -0
  578. data/scripts/benchmark.rb +21 -0
  579. data/scripts/profile.sh +2 -0
  580. data/scripts/profiling.rb +9 -0
  581. data/scripts/reference.rb +96 -0
  582. data/test/helper.rb +89 -0
  583. data/test/test_address.rb +109 -0
  584. data/test/test_address_au.rb +78 -0
  585. data/test/test_address_br.rb +50 -0
  586. data/test/test_address_ca.rb +31 -0
  587. data/test/test_address_ch.rb +17 -0
  588. data/test/test_address_ch_de.rb +13 -0
  589. data/test/test_address_ch_fr.rb +13 -0
  590. data/test/test_address_ch_it.rb +15 -0
  591. data/test/test_address_da.rb +50 -0
  592. data/test/test_address_de.rb +32 -0
  593. data/test/test_address_fi.rb +39 -0
  594. data/test/test_address_fr.rb +12 -0
  595. data/test/test_address_gr.rb +43 -0
  596. data/test/test_address_id.rb +39 -0
  597. data/test/test_address_in.rb +58 -0
  598. data/test/test_address_it.rb +12 -0
  599. data/test/test_address_ja.rb +58 -0
  600. data/test/test_address_kr.rb +14 -0
  601. data/test/test_address_mx.rb +32 -0
  602. data/test/test_address_nl.rb +36 -0
  603. data/test/test_address_pl.rb +80 -0
  604. data/test/test_address_ru.rb +36 -0
  605. data/test/test_address_se.rb +39 -0
  606. data/test/test_address_sn.rb +28 -0
  607. data/test/test_address_ua.rb +57 -0
  608. data/test/test_address_uk.rb +25 -0
  609. data/test/test_address_us.rb +51 -0
  610. data/test/test_airline.rb +17 -0
  611. data/test/test_animal.rb +17 -0
  612. data/test/test_animal_br.rb +17 -0
  613. data/test/test_animal_cn.rb +17 -0
  614. data/test/test_animal_es.rb +17 -0
  615. data/test/test_animal_pl.rb +17 -0
  616. data/test/test_animal_us.rb +17 -0
  617. data/test/test_array_utils.rb +100 -0
  618. data/test/test_avatar.rb +57 -0
  619. data/test/test_aws.rb +25 -0
  620. data/test/test_bacon_ipsum.rb +36 -0
  621. data/test/test_bank.rb +53 -0
  622. data/test/test_book.rb +46 -0
  623. data/test/test_boolean.rb +14 -0
  624. data/test/test_cheesy_lingo.rb +43 -0
  625. data/test/test_code.rb +39 -0
  626. data/test/test_color.rb +134 -0
  627. data/test/test_color_pl.rb +13 -0
  628. data/test/test_color_ua.rb +13 -0
  629. data/test/test_company.rb +32 -0
  630. data/test/test_company_cn.rb +24 -0
  631. data/test/test_company_fr.rb +33 -0
  632. data/test/test_company_it.rb +28 -0
  633. data/test/test_company_ja.rb +28 -0
  634. data/test/test_company_se.rb +20 -0
  635. data/test/test_conference.rb +13 -0
  636. data/test/test_course_mathematiques.rb +17 -0
  637. data/test/test_course_philosophie.rb +17 -0
  638. data/test/test_currency.rb +12 -0
  639. data/test/test_dizzle_ipsum.rb +36 -0
  640. data/test/test_education.rb +41 -0
  641. data/test/test_education_cn.rb +29 -0
  642. data/test/test_ffaker.rb +41 -0
  643. data/test/test_filesystem.rb +36 -0
  644. data/test/test_food.rb +28 -0
  645. data/test/test_food_pl.rb +61 -0
  646. data/test/test_freedom_ipsum.rb +21 -0
  647. data/test/test_game.rb +28 -0
  648. data/test/test_gender.rb +23 -0
  649. data/test/test_gender_br.rb +18 -0
  650. data/test/test_gender_cn.rb +18 -0
  651. data/test/test_gender_id.rb +18 -0
  652. data/test/test_gender_it.rb +27 -0
  653. data/test/test_gender_ja.rb +27 -0
  654. data/test/test_gender_jp.rb +27 -0
  655. data/test/test_gender_kr.rb +28 -0
  656. data/test/test_gender_pl.rb +27 -0
  657. data/test/test_gender_ru.rb +23 -0
  658. data/test/test_geolocation.rb +37 -0
  659. data/test/test_guid.rb +14 -0
  660. data/test/test_healthcare_ipsum.rb +36 -0
  661. data/test/test_healthcare_ru.rb +19 -0
  662. data/test/test_hipster_ipsum.rb +38 -0
  663. data/test/test_html_ipsum.rb +105 -0
  664. data/test/test_identification.rb +35 -0
  665. data/test/test_identification_br.rb +46 -0
  666. data/test/test_identification_co.rb +41 -0
  667. data/test/test_identification_es.rb +17 -0
  668. data/test/test_identification_es_cl.rb +17 -0
  669. data/test/test_identification_es_mx.rb +28 -0
  670. data/test/test_identification_in.rb +20 -0
  671. data/test/test_identification_it.rb +34 -0
  672. data/test/test_identification_kr.rb +17 -0
  673. data/test/test_identification_pl.rb +28 -0
  674. data/test/test_identification_tw.rb +17 -0
  675. data/test/test_image.rb +51 -0
  676. data/test/test_internet.rb +132 -0
  677. data/test/test_internet_se.rb +78 -0
  678. data/test/test_job.rb +17 -0
  679. data/test/test_job_br.rb +17 -0
  680. data/test/test_job_cn.rb +21 -0
  681. data/test/test_job_fr.rb +23 -0
  682. data/test/test_job_it.rb +17 -0
  683. data/test/test_job_ja.rb +21 -0
  684. data/test/test_job_kr.rb +21 -0
  685. data/test/test_job_vn.rb +21 -0
  686. data/test/test_locale.rb +27 -0
  687. data/test/test_lorem.rb +58 -0
  688. data/test/test_lorem_ar.rb +44 -0
  689. data/test/test_lorem_br.rb +62 -0
  690. data/test/test_lorem_cn.rb +54 -0
  691. data/test/test_lorem_fr.rb +48 -0
  692. data/test/test_lorem_ie.rb +52 -0
  693. data/test/test_lorem_it.rb +51 -0
  694. data/test/test_lorem_ja.rb +81 -0
  695. data/test/test_lorem_kr.rb +56 -0
  696. data/test/test_lorem_pl.rb +51 -0
  697. data/test/test_lorem_ru.rb +52 -0
  698. data/test/test_lorem_ua.rb +52 -0
  699. data/test/test_module_utils.rb +14 -0
  700. data/test/test_movie.rb +21 -0
  701. data/test/test_music.rb +28 -0
  702. data/test/test_name.rb +138 -0
  703. data/test/test_name_ar.rb +39 -0
  704. data/test/test_name_br.rb +70 -0
  705. data/test/test_name_cn.rb +28 -0
  706. data/test/test_name_cs.rb +73 -0
  707. data/test/test_name_da.rb +59 -0
  708. data/test/test_name_de.rb +25 -0
  709. data/test/test_name_es.rb +70 -0
  710. data/test/test_name_fr.rb +52 -0
  711. data/test/test_name_ga.rb +61 -0
  712. data/test/test_name_gr.rb +70 -0
  713. data/test/test_name_id.rb +70 -0
  714. data/test/test_name_it.rb +53 -0
  715. data/test/test_name_ja.rb +51 -0
  716. data/test/test_name_kh.rb +34 -0
  717. data/test/test_name_kr.rb +28 -0
  718. data/test/test_name_mx.rb +190 -0
  719. data/test/test_name_nb.rb +43 -0
  720. data/test/test_name_nl.rb +25 -0
  721. data/test/test_name_ph.rb +34 -0
  722. data/test/test_name_pl.rb +111 -0
  723. data/test/test_name_ru.rb +76 -0
  724. data/test/test_name_se.rb +43 -0
  725. data/test/test_name_sn.rb +92 -0
  726. data/test/test_name_th.rb +34 -0
  727. data/test/test_name_th_en.rb +35 -0
  728. data/test/test_name_tw.rb +28 -0
  729. data/test/test_name_ua.rb +68 -0
  730. data/test/test_name_vn.rb +42 -0
  731. data/test/test_nato_alphabet.rb +42 -0
  732. data/test/test_number.rb +45 -0
  733. data/test/test_phone_number.rb +46 -0
  734. data/test/test_phone_number_au.rb +65 -0
  735. data/test/test_phone_number_br.rb +63 -0
  736. data/test/test_phone_number_cu.rb +93 -0
  737. data/test/test_phone_number_da.rb +47 -0
  738. data/test/test_phone_number_de.rb +53 -0
  739. data/test/test_phone_number_fr.rb +57 -0
  740. data/test/test_phone_number_id.rb +57 -0
  741. data/test/test_phone_number_it.rb +12 -0
  742. data/test/test_phone_number_ja.rb +63 -0
  743. data/test/test_phone_number_kr.rb +49 -0
  744. data/test/test_phone_number_mx.rb +50 -0
  745. data/test/test_phone_number_nl.rb +36 -0
  746. data/test/test_phone_number_pl.rb +56 -0
  747. data/test/test_phone_number_ru.rb +76 -0
  748. data/test/test_phone_number_se.rb +65 -0
  749. data/test/test_phone_number_sg.rb +52 -0
  750. data/test/test_phone_number_sn.rb +41 -0
  751. data/test/test_phone_number_tw.rb +42 -0
  752. data/test/test_phone_number_ua.rb +38 -0
  753. data/test/test_products.rb +22 -0
  754. data/test/test_sem_ver.rb +18 -0
  755. data/test/test_skill.rb +30 -0
  756. data/test/test_sport_pl.rb +30 -0
  757. data/test/test_sport_ru.rb +30 -0
  758. data/test/test_sport_us.rb +17 -0
  759. data/test/test_sports.rb +17 -0
  760. data/test/test_ssn.rb +27 -0
  761. data/test/test_ssn_mx.rb +36 -0
  762. data/test/test_ssn_se.rb +43 -0
  763. data/test/test_string.rb +114 -0
  764. data/test/test_time.rb +101 -0
  765. data/test/test_tweet.rb +59 -0
  766. data/test/test_unique_utils.rb +54 -0
  767. data/test/test_units.rb +37 -0
  768. data/test/test_units_english.rb +63 -0
  769. data/test/test_units_metric.rb +63 -0
  770. data/test/test_vehicle.rb +79 -0
  771. data/test/test_venue.rb +13 -0
  772. data/test/test_youtube.rb +28 -0
  773. metadata +1054 -0
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module AddressSN
5
+ include FFakerTW::Address
6
+
7
+ extend ModuleUtils
8
+ extend self
9
+
10
+ def region
11
+ fetch_sample(REGIONS)
12
+ end
13
+
14
+ def departement
15
+ fetch_sample(DEPARTEMENTS)
16
+ end
17
+
18
+ def arrondissement
19
+ fetch_sample(ARRONDISSEMENTS)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module AddressUA
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ POSTAL_CODE_FORMAT = ['#####'].freeze
9
+ BUILDING_NUMBER_FORMATS = %w[## # ###].freeze
10
+ APPARTMENT_NUMBER_FORMATS = %w[# ## ###].freeze
11
+
12
+ def country
13
+ fetch_sample(COUNTRY)
14
+ end
15
+
16
+ def city
17
+ fetch_sample(CITY)
18
+ end
19
+
20
+ def province
21
+ fetch_sample(PROVINCE)
22
+ end
23
+
24
+ def zip_code
25
+ numerify_mask(POSTAL_CODE_FORMAT, true)
26
+ end
27
+
28
+ def street_name
29
+ "вул. #{fetch_sample(STREET)}"
30
+ end
31
+
32
+ def street_address(include_secondary = false)
33
+ str = +"#{street_name}, #{building_number}"
34
+ str << ", кв. #{appartment_number}" if include_secondary
35
+ str
36
+ end
37
+
38
+ def building_number
39
+ numerify_mask(BUILDING_NUMBER_FORMATS)
40
+ end
41
+
42
+ def appartment_number
43
+ numerify_mask(APPARTMENT_NUMBER_FORMATS)
44
+ end
45
+
46
+ private
47
+
48
+ def numerify_mask(masks_arr, allow_first_zero = false)
49
+ if allow_first_zero
50
+ FFakerTW.numerify(masks_arr)
51
+ else
52
+ fetch_sample(masks_arr).sub(/#/) { rand(1..9).to_s }.gsub(/#/) { rand(0..9).to_s }
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module AddressUK
5
+ include FFakerTW::Address
6
+
7
+ extend ModuleUtils
8
+ extend self
9
+
10
+ COUNTRY = ['England', 'Scotland', 'Wales', 'Northern Ireland'].freeze
11
+ POSTCODE = ['??# #??', '??## #??'].freeze
12
+
13
+ def county
14
+ fetch_sample(COUNTY)
15
+ end
16
+
17
+ def country
18
+ fetch_sample(COUNTRY)
19
+ end
20
+
21
+ def postcode
22
+ FFakerTW.bothify(fetch_sample(POSTCODE)).upcase
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module AddressUS
5
+ include FFakerTW::Address
6
+
7
+ extend ModuleUtils
8
+ extend self
9
+
10
+ ZIP_FORMATS = ['#####', '#####-####'].freeze
11
+ CONTINENTAL_STATE = (STATE - %w[Hawaii Alaska])
12
+ CONTINENTAL_STATE_ABBR = (STATE_ABBR - %w[HI AK])
13
+
14
+ def zip_code
15
+ FFakerTW.numerify(fetch_sample(ZIP_FORMATS))
16
+ end
17
+
18
+ def state
19
+ fetch_sample(STATE)
20
+ end
21
+
22
+ def state_abbr(st_name = nil)
23
+ return find_abbr(state) unless st_name
24
+
25
+ st_name = capitalize_all_words(st_name)
26
+ check_state_existence(st_name)
27
+ find_abbr(st_name)
28
+ end
29
+
30
+ def state_and_territories_abbr
31
+ fetch_sample(STATE_AND_TERRITORIES_ABBR)
32
+ end
33
+
34
+ def continental_state
35
+ fetch_sample(CONTINENTAL_STATE)
36
+ end
37
+
38
+ def continental_state_abbr
39
+ fetch_sample(CONTINENTAL_STATE_ABBR)
40
+ end
41
+
42
+ private
43
+
44
+ def check_state_existence(state_name)
45
+ return if STATE.include?(state_name)
46
+
47
+ raise ArgumentError, "Unexpected state name: '#{state_name}'"
48
+ end
49
+
50
+ def find_abbr(state)
51
+ STATE_ABBR[STATE.index(state)]
52
+ end
53
+
54
+ def capitalize_all_words(string)
55
+ string.split.map(&:capitalize).join(' ')
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module Airline
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def name
9
+ fetch_sample(NAMES_LIST)
10
+ end
11
+
12
+ def flight_number
13
+ "#{fetch_sample(CODES_LIST)} #{rand(1..3999)}"
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module Animal
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ # @deprecated US animals name. Moved into {AnimalUS}
9
+ def common_name
10
+ warn '[common_name] is deprecated. For animal name in english please use the AnimalUS module'
11
+ fetch_sample(COMMON_NAMES)
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module AnimalBR
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def common_name
9
+ fetch_sample(COMMON_NAMES)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module AnimalCN
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def common_name
9
+ fetch_sample(COMMON_NAMES)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module AnimalES
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def common_name
9
+ fetch_sample(COMMON_NAMES)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ # Inspirations:
5
+ # https://www.ekologia.pl/wiedza/zwierzeta/
6
+ module AnimalPL
7
+ extend ModuleUtils
8
+
9
+ module_function
10
+
11
+ def common_name
12
+ fetch_sample(COMMON_NAMES)
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module AnimalTW
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def common_name
9
+ fetch_sample(COMMON_NAMES)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module AnimalUS
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def common_name
9
+ fetch_sample(COMMON_NAMES)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module Avatar
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ SUPPORTED_FORMATS = %w[png jpg bmp].freeze
9
+
10
+ def image(slug = nil, size = '300x300', format = 'png', bgset = nil)
11
+ check_passed_params(size, format, bgset)
12
+ slug ||= FFakerTW::Lorem.words.join
13
+ "https://robohash.org/#{slug}.#{format}?size=#{size}#{'&bgset=bg' + bgset.to_s if bgset}"
14
+ end
15
+
16
+ private
17
+
18
+ def check_passed_params(size, format, bgset)
19
+ invalid_size_error unless size =~ /^[0-9]+x[0-9]+$/
20
+ invalid_format_error unless SUPPORTED_FORMATS.include?(format)
21
+ invalid_background_number unless bgset.nil? || (1..2).cover?(bgset.to_i)
22
+ end
23
+
24
+ def invalid_size_error
25
+ raise ArgumentError, 'Size should be specified in format 300x300'
26
+ end
27
+
28
+ def invalid_format_error
29
+ raise ArgumentError, "Supported formats are #{SUPPORTED_FORMATS.join(', ')}"
30
+ end
31
+
32
+ def invalid_background_number
33
+ raise ArgumentError, 'Not a supported background number. Choose eather 1 or 2'
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module AWS
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def instance_type
9
+ fetch_sample(EC2_INSTANCE_TYPE)
10
+ end
11
+
12
+ def offering_type
13
+ fetch_sample(EC2_RESERVED_OFFERING_TYPE)
14
+ end
15
+
16
+ def instance_tenancy
17
+ fetch_sample(EC2_RESERVED_INSTANCE_TENANCY)
18
+ end
19
+
20
+ def product_description
21
+ fetch_sample(EC2_RESERVED_PRODUCT_DESCRIPTION)
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ # Thanks to http://baconipsum.com/
5
+ module BaconIpsum
6
+ include Lorem
7
+
8
+ extend ModuleUtils
9
+ extend self
10
+
11
+ def word
12
+ fetch_sample(BACON_WORDS)
13
+ end
14
+
15
+ def words(num = 3)
16
+ fetch_sample(BACON_WORDS, count: num)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module Bank
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ COUNTRIES = {
9
+ 'AA' => 'AL##########################', # Albania
10
+ 'AD' => 'AD######################', # Andorra
11
+ 'AT' => 'AT##################', # Austria
12
+ 'AZ' => 'AZ##????####################', # Azerbaijan
13
+ 'BH' => 'BH##????##############', # Bahrain
14
+ 'BY' => 'BY##????####################', # Belarus
15
+ 'BE' => 'BE##############', # Belgium
16
+ 'BA' => 'BA##################', # Bosnia and Herzegovina
17
+ 'BR' => 'BR#########################P#', # Brazil
18
+ 'BG' => 'BG##????##############', # Bulgaria
19
+ 'CR' => 'CR####################', # Costa Rica
20
+ 'HR' => 'HR###################', # Croatia
21
+ 'CY' => 'CY##########################', # Cyprus
22
+ 'CZ' => 'CZ######################', # Czech Republic
23
+ 'DK' => 'DK################', # Denmark
24
+ 'DO' => 'DO##????####################', # Dominican Republic
25
+ 'SV' => 'SV##????####################', # El Salvador
26
+ 'EE' => 'EE##################', # Estonia
27
+ 'FO' => 'FO################', # Faroe Islands
28
+ 'FI' => 'FI################', # Finland
29
+ 'FR' => 'FR#########################', # France
30
+ 'GE' => 'GE##??################', # Georgia
31
+ 'DE' => 'DE####################', # Germany
32
+ 'GI' => 'GI##????###############', # Gibraltar
33
+ 'GR' => 'GR#########################', # Greece
34
+ 'GL' => 'GL################', # Greenland
35
+ 'GT' => 'GT##AGRO####################', # Guatemala
36
+ 'VA' => 'VA####################', # Holy See
37
+ 'HU' => 'HU##########################', # Hungary
38
+ 'IS' => 'IS########################', # Iceland
39
+ 'IQ' => 'IQ##????###############', # Iraq
40
+ 'IE' => 'IE##????##############', # Ireland
41
+ 'IL' => 'IL#####################', # Israel
42
+ 'IT' => 'IT##X######################', # Italy
43
+ 'JO' => 'JO##????######################', # Jordan
44
+ 'KZ' => 'KZ##################', # Kazakhstan
45
+ 'XK' => 'XK##################', # Kosovo
46
+ 'KW' => 'KW##????######################', # Kuwait
47
+ 'LV' => 'LV##????#############', # Latvia
48
+ 'LB' => 'LB##########################', # Lebanon
49
+ 'LI' => 'LI###################', # Liechtenstein
50
+ 'LT' => 'LT##################', # Lithuania
51
+ 'LU' => 'LU##################', # Luxembourg
52
+ 'MT' => 'MT##MALT#######################', # Malta
53
+ 'MR' => 'MR#########################', # Mauritania
54
+ 'MU' => 'MU##????###################MUR', # Mauritius
55
+ 'MD' => 'MD##??##################', # Moldova
56
+ 'MC' => 'MC#########################', # Monaco
57
+ 'ME' => 'ME####################', # Montenegro
58
+ 'NL' => 'NL##????##########', # Netherlands
59
+ 'MK' => 'MK#################', # North Macedonia
60
+ 'NO' => 'NO#############', # Norway
61
+ 'PK' => 'PK##????################', # Pakistan
62
+ 'PS' => 'PS##PALS#####################', # Palestine
63
+ 'PL' => 'PL##########################', # Poland
64
+ 'PT' => 'PT#######################', # Portugal
65
+ 'QA' => 'QA##????#####################', # Qatar
66
+ 'RO' => 'RO##????################', # Romania
67
+ 'LC' => 'LC##????########################', # Saint Lucia
68
+ 'SM' => 'SM##P######################', # San Marino
69
+ 'ST' => 'ST#######################', # Sao Tome and Principe
70
+ 'SA' => 'SA######################', # Saudi Arabia
71
+ 'RS' => 'RS####################', # Serbia
72
+ 'SC' => 'SC##????####################USD', # Seychelles
73
+ 'SK' => 'SK######################', # Slovak Republic
74
+ 'SI' => 'SI#################', # Slovenia
75
+ 'ES' => 'ES######################', # Spain
76
+ 'SE' => 'SE######################', # Sweden
77
+ 'CH' => 'CH###################', # Switzerland
78
+ 'TL' => 'TL#####################', # Timor-Leste
79
+ 'TN' => 'TN######################', # Tunisia
80
+ 'TR' => 'TR########################', # Turkey
81
+ 'UA' => 'UA###########################', # Ukraine
82
+ 'AE' => 'AE#####################', # United Arab Emirates
83
+ 'GB' => 'GB##????##############', # United Kingdom
84
+ 'VG' => 'VG##????################' # Virgin Islands, British
85
+ }.freeze
86
+
87
+ def iban(country_code: nil)
88
+ return formatify_iban(fetch_sample(COUNTRIES.values)) unless country_code
89
+
90
+ check_country_existence(country_code)
91
+ formatify_iban(COUNTRIES[country_code.upcase])
92
+ end
93
+
94
+ def card_number
95
+ FFakerTW.numerify('#### #### #### ####')
96
+ end
97
+
98
+ def card_expiry_date(year_range: 5, year_latest: -5, format: '%m/%y')
99
+ FFakerTW::Time.date({ year_range: year_range, year_latest: year_latest }).strftime(format)
100
+ end
101
+
102
+ def card_type
103
+ fetch_sample(CARD_TYPES)
104
+ end
105
+
106
+ private
107
+
108
+ def formatify_iban(code)
109
+ FFakerTW.bothify(code).upcase
110
+ end
111
+
112
+ def check_country_existence(country_code)
113
+ return if COUNTRIES.keys.include?(country_code.upcase)
114
+
115
+ raise ArgumentError, "Unexpected country code: '#{country_code}'"
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module Book
5
+ require 'cgi'
6
+
7
+ extend ModuleUtils
8
+ extend self
9
+
10
+ def title
11
+ case rand(0..1)
12
+ when 0 then simple_title
13
+ when 1 then title_with_prefix
14
+ end
15
+ end
16
+
17
+ def genre
18
+ fetch_sample(GENRES)
19
+ end
20
+
21
+ def author
22
+ FFakerTW::Name.name
23
+ end
24
+
25
+ def isbn
26
+ rand(1_000_000_000...25_000_000_000).to_s
27
+ end
28
+
29
+ def description(sentence_count = 3)
30
+ FFakerTW::Lorem.paragraph(sentence_count)
31
+ end
32
+
33
+ def cover(slug = nil, size = '300x300', format = 'png', bgset = nil)
34
+ FFakerTW::Avatar.image(slug, size, format, bgset)
35
+ end
36
+
37
+ def orly_cover(name = title, book_author = author, top_text = genre)
38
+ 'https://orly-appstore.herokuapp.com/generate?'\
39
+ "title=#{CGI.escape(name)}&"\
40
+ "top_text=#{CGI.escape(top_text)}&"\
41
+ "author=#{CGI.escape(book_author)}&"\
42
+ "image_code=#{Random.rand(1..40)}&"\
43
+ "theme=#{Random.rand(1..16)}"
44
+ end
45
+
46
+ private
47
+
48
+ def simple_title
49
+ "#{fetch_sample(ADJ_AND_ADV)} #{fetch_sample(NOUNS)}"
50
+ end
51
+
52
+ def title_with_prefix
53
+ "#{fetch_sample(PREFIXES)} #{simple_title}"
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module Boolean
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def maybe
9
+ case rand(0..1)
10
+ when 0 then true
11
+ when 1 then false
12
+ end
13
+ end
14
+
15
+ alias random maybe
16
+ alias sample maybe
17
+ end
18
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module CheesyLingo
5
+ # Born during RailsGirls Summer of Code 2015. Team Cheesy says Hi!
6
+
7
+ extend ModuleUtils
8
+ extend self
9
+
10
+ TITLE_1 = %w[Sharp Soft Nutty Smokey Melting Cheeky Fat Dutch Grated Cheesed Milky].freeze
11
+ TITLE_2 = %w[Gouda Affineurs Alpine Sheep Cows Brie Goats Coulommiers Dairy].freeze
12
+
13
+ def title
14
+ "#{fetch_sample(TITLE_1)} #{fetch_sample(TITLE_2)}"
15
+ end
16
+
17
+ def word
18
+ fetch_sample(CHEESY_WORDS)
19
+ end
20
+
21
+ def words(count = 5)
22
+ fetch_sample(CHEESY_WORDS, count: count)
23
+ end
24
+
25
+ def sentence
26
+ [
27
+ fetch_sample(CHEESY_PHRASES).capitalize,
28
+ fetch_sample(CHEESY_PHRASES),
29
+ fetch_sample(CHEESY_PHRASES)
30
+ ].join + '.'
31
+ end
32
+
33
+ def paragraph(number_of_phrases = 10)
34
+ p = +fetch_sample(CHEESY_PHRASES).capitalize
35
+ (number_of_phrases - 1).times { p << " #{fetch_sample(CHEESY_PHRASES)}" }
36
+ p << '.'
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFakerTW
4
+ module Code
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def npi(legacy: false)
9
+ max = legacy ? 299_999_999 : 999_999_999
10
+ base_npi = rand(100_000_000..max).to_s
11
+
12
+ summed_digits = base_npi
13
+ .chars
14
+ .each_with_index
15
+ .map { |n, i| (i.even? ? n.to_i * 2 : n).to_s }
16
+ .join
17
+ .chars
18
+ .inject(0) { |sum, digit| sum + digit.to_i }
19
+
20
+ npi_checksum = (10 - (24 + summed_digits) % 10).to_s.chars.last
21
+
22
+ base_npi + npi_checksum
23
+ end
24
+
25
+ def ean
26
+ ean = rand(100_000_000_000..999_999_999_999).to_s
27
+
28
+ sum = 0
29
+ ean.chars.each_with_index { |c, i| sum += c.to_i * (i.odd? ? 3 : 1) }
30
+
31
+ nearest_multiple_of_ten = sum.round(-1)
32
+ nearest_multiple_of_ten += 10 if nearest_multiple_of_ten < sum
33
+
34
+ "#{ean}#{nearest_multiple_of_ten - sum}"
35
+ end
36
+ end
37
+ end