faker 1.9.1 → 1.9.2

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 (427) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +181 -0
  3. data/License.txt +2 -2
  4. data/README.md +252 -162
  5. data/lib/faker.rb +36 -17
  6. data/lib/faker/blockchain/bitcoin.rb +34 -0
  7. data/lib/faker/blockchain/ethereum.rb +16 -0
  8. data/lib/faker/blockchain/tezos.rb +46 -0
  9. data/lib/faker/{book.rb → books/book.rb} +2 -0
  10. data/lib/faker/books/culture_series.rb +34 -0
  11. data/lib/faker/books/dune.rb +58 -0
  12. data/lib/faker/books/lovecraft.rb +73 -0
  13. data/lib/faker/creature/animal.rb +13 -0
  14. data/lib/faker/creature/cat.rb +23 -0
  15. data/lib/faker/creature/dog.rb +43 -0
  16. data/lib/faker/{address.rb → default/address.rb} +10 -0
  17. data/lib/faker/default/alphanumeric.rb +24 -0
  18. data/lib/faker/{ancient.rb → default/ancient.rb} +2 -0
  19. data/lib/faker/{app.rb → default/app.rb} +2 -0
  20. data/lib/faker/{appliance.rb → default/appliance.rb} +2 -0
  21. data/lib/faker/{artist.rb → default/artist.rb} +2 -0
  22. data/lib/faker/{avatar.rb → default/avatar.rb} +3 -0
  23. data/lib/faker/{bank.rb → default/bank.rb} +8 -2
  24. data/lib/faker/{beer.rb → default/beer.rb} +2 -0
  25. data/lib/faker/{boolean.rb → default/boolean.rb} +2 -0
  26. data/lib/faker/{bossa_nova.rb → default/bossa_nova.rb} +2 -0
  27. data/lib/faker/{business.rb → default/business.rb} +2 -0
  28. data/lib/faker/{cannabis.rb → default/cannabis.rb} +0 -1
  29. data/lib/faker/default/chile_rut.rb +44 -0
  30. data/lib/faker/{chuck_norris.rb → default/chuck_norris.rb} +2 -0
  31. data/lib/faker/{code.rb → default/code.rb} +3 -1
  32. data/lib/faker/{coffee.rb → default/coffee.rb} +2 -0
  33. data/lib/faker/default/coin.rb +15 -0
  34. data/lib/faker/{color.rb → default/color.rb} +2 -0
  35. data/lib/faker/{commerce.rb → default/commerce.rb} +3 -0
  36. data/lib/faker/{company.rb → default/company.rb} +35 -1
  37. data/lib/faker/{compass.rb → default/compass.rb} +2 -0
  38. data/lib/faker/default/construction.rb +29 -0
  39. data/lib/faker/default/cosmere.rb +48 -0
  40. data/lib/faker/default/creature.rb +6 -0
  41. data/lib/faker/{crypto.rb → default/crypto.rb} +2 -0
  42. data/lib/faker/default/crypto_coin.rb +32 -0
  43. data/lib/faker/{currency.rb → default/currency.rb} +2 -0
  44. data/lib/faker/{date.rb → default/date.rb} +3 -0
  45. data/lib/faker/default/dc_comics.rb +25 -0
  46. data/lib/faker/{demographic.rb → default/demographic.rb} +2 -0
  47. data/lib/faker/{dessert.rb → default/dessert.rb} +2 -0
  48. data/lib/faker/{device.rb → default/device.rb} +2 -0
  49. data/lib/faker/default/driving_licence.rb +59 -0
  50. data/lib/faker/default/educator.rb +38 -0
  51. data/lib/faker/{electrical_components.rb → default/electrical_components.rb} +2 -0
  52. data/lib/faker/{esport.rb → default/esport.rb} +2 -0
  53. data/lib/faker/{file.rb → default/file.rb} +2 -0
  54. data/lib/faker/{fillmurray.rb → default/fillmurray.rb} +2 -0
  55. data/lib/faker/{finance.rb → default/finance.rb} +13 -0
  56. data/lib/faker/{food.rb → default/food.rb} +4 -0
  57. data/lib/faker/{football.rb → default/football.rb} +6 -0
  58. data/lib/faker/{funny_name.rb → default/funny_name.rb} +3 -1
  59. data/lib/faker/default/games.rb +6 -0
  60. data/lib/faker/{gender.rb → default/gender.rb} +2 -0
  61. data/lib/faker/{greek_philosophers.rb → default/greek_philosophers.rb} +2 -0
  62. data/lib/faker/{hacker.rb → default/hacker.rb} +2 -0
  63. data/lib/faker/{hipster.rb → default/hipster.rb} +3 -12
  64. data/lib/faker/default/house.rb +15 -0
  65. data/lib/faker/default/id_number.rb +119 -0
  66. data/lib/faker/default/industry_segments.rb +25 -0
  67. data/lib/faker/{internet.rb → default/internet.rb} +10 -6
  68. data/lib/faker/{invoice.rb → default/invoice.rb} +3 -1
  69. data/lib/faker/default/japanese_media.rb +6 -0
  70. data/lib/faker/{job.rb → default/job.rb} +2 -0
  71. data/lib/faker/default/json.rb +70 -0
  72. data/lib/faker/{kpop.rb → default/kpop.rb} +2 -0
  73. data/lib/faker/{lorem.rb → default/lorem.rb} +5 -17
  74. data/lib/faker/{lorem_flickr.rb → default/lorem_flickr.rb} +2 -0
  75. data/lib/faker/{lorem_pixel.rb → default/lorem_pixel.rb} +2 -0
  76. data/lib/faker/{markdown.rb → default/markdown.rb} +6 -2
  77. data/lib/faker/default/marketing.rb +13 -0
  78. data/lib/faker/{measurement.rb → default/measurement.rb} +4 -2
  79. data/lib/faker/{military.rb → default/military.rb} +2 -0
  80. data/lib/faker/default/movies.rb +6 -0
  81. data/lib/faker/{name.rb → default/name.rb} +7 -11
  82. data/lib/faker/{nation.rb → default/nation.rb} +9 -0
  83. data/lib/faker/{nato_phonetic_alphabet.rb → default/nato_phonetic_alphabet.rb} +2 -0
  84. data/lib/faker/default/nhs.rb +34 -0
  85. data/lib/faker/{number.rb → default/number.rb} +13 -2
  86. data/lib/faker/{omniauth.rb → default/omniauth.rb} +2 -0
  87. data/lib/faker/{phone_number.rb → default/phone_number.rb} +14 -0
  88. data/lib/faker/{placeholdit.rb → default/placeholdit.rb} +4 -2
  89. data/lib/faker/{programming_language.rb → default/programming_language.rb} +2 -0
  90. data/lib/faker/default/relationship.rb +42 -0
  91. data/lib/faker/default/restaurant.rb +11 -0
  92. data/lib/faker/{science.rb → default/science.rb} +2 -0
  93. data/lib/faker/{slack_emoji.rb → default/slack_emoji.rb} +2 -0
  94. data/lib/faker/{source.rb → default/source.rb} +2 -0
  95. data/lib/faker/default/south_africa.rb +51 -0
  96. data/lib/faker/{space.rb → default/space.rb} +2 -0
  97. data/lib/faker/{string.rb → default/string.rb} +0 -0
  98. data/lib/faker/{stripe.rb → default/stripe.rb} +2 -0
  99. data/lib/faker/default/subscription.rb +25 -0
  100. data/lib/faker/{superhero.rb → default/superhero.rb} +2 -0
  101. data/lib/faker/{team.rb → default/team.rb} +2 -0
  102. data/lib/faker/{time.rb → default/time.rb} +3 -0
  103. data/lib/faker/default/tv_shows.rb +6 -0
  104. data/lib/faker/{twitter.rb → default/twitter.rb} +2 -0
  105. data/lib/faker/{types.rb → default/types.rb} +5 -15
  106. data/lib/faker/{university.rb → default/university.rb} +2 -0
  107. data/lib/faker/default/vehicle.rb +149 -0
  108. data/lib/faker/{verb.rb → default/verb.rb} +2 -0
  109. data/lib/faker/{world_cup.rb → default/world_cup.rb} +2 -0
  110. data/lib/faker/deprecate/aqua_teen_hunger_force.rb +15 -0
  111. data/lib/faker/deprecate/back_to_the_future.rb +25 -0
  112. data/lib/faker/deprecate/bitcoin.rb +20 -0
  113. data/lib/faker/deprecate/bojack_horseman.rb +25 -0
  114. data/lib/faker/deprecate/breaking_bad.rb +20 -0
  115. data/lib/faker/deprecate/buffy.rb +35 -0
  116. data/lib/faker/deprecate/cat.rb +25 -0
  117. data/lib/faker/deprecate/community.rb +20 -0
  118. data/lib/faker/deprecate/dog.rb +50 -0
  119. data/lib/faker/deprecate/dota.rb +35 -0
  120. data/lib/faker/deprecate/dr_who.rb +45 -0
  121. data/lib/faker/deprecate/dragon_ball.rb +15 -0
  122. data/lib/faker/deprecate/dumb_and_dumber.rb +25 -0
  123. data/lib/faker/deprecate/dune.rb +35 -0
  124. data/lib/faker/deprecate/elder_scrolls.rb +50 -0
  125. data/lib/faker/deprecate/ethereum.rb +15 -0
  126. data/lib/faker/deprecate/fallout.rb +30 -0
  127. data/lib/faker/deprecate/family_guy.rb +25 -0
  128. data/lib/faker/deprecate/famous_last_words.rb +15 -0
  129. data/lib/faker/deprecate/friends.rb +25 -0
  130. data/lib/faker/deprecate/game_of_thrones.rb +35 -0
  131. data/lib/faker/deprecate/harry_potter.rb +40 -0
  132. data/lib/faker/deprecate/heroes_of_the_storm.rb +30 -0
  133. data/lib/faker/deprecate/hey_arnold.rb +25 -0
  134. data/lib/faker/deprecate/hitchhikers_guide_to_the_galaxy.rb +44 -0
  135. data/lib/faker/deprecate/hobbit.rb +30 -0
  136. data/lib/faker/deprecate/how_i_met_your_mother.rb +30 -0
  137. data/lib/faker/deprecate/league_of_legends.rb +40 -0
  138. data/lib/faker/deprecate/lebowski.rb +25 -0
  139. data/lib/faker/deprecate/lord_of_the_rings.rb +25 -0
  140. data/lib/faker/deprecate/lovecraft.rb +65 -0
  141. data/lib/faker/deprecate/matz.rb +15 -0
  142. data/lib/faker/deprecate/michael_scott.rb +15 -0
  143. data/lib/faker/deprecate/most_interesting_man_in_the_world.rb +15 -0
  144. data/lib/faker/deprecate/myst.rb +35 -0
  145. data/lib/faker/deprecate/new_girl.rb +20 -0
  146. data/lib/faker/deprecate/one_piece.rb +40 -0
  147. data/lib/faker/deprecate/overwatch.rb +25 -0
  148. data/lib/faker/deprecate/parks_and_rec.rb +20 -0
  149. data/lib/faker/deprecate/pokemon.rb +25 -0
  150. data/lib/faker/deprecate/princess_bride.rb +20 -0
  151. data/lib/faker/deprecate/rick_and_morty.rb +25 -0
  152. data/lib/faker/deprecate/robin.rb +15 -0
  153. data/lib/faker/deprecate/rock_band.rb +15 -0
  154. data/lib/faker/deprecate/ru_paul.rb +20 -0
  155. data/lib/faker/deprecate/seinfeld.rb +25 -0
  156. data/lib/faker/deprecate/shakespeare.rb +50 -0
  157. data/lib/faker/deprecate/silicon_valley.rb +50 -0
  158. data/lib/faker/deprecate/simpsons.rb +25 -0
  159. data/lib/faker/deprecate/singular_siegler.rb +15 -0
  160. data/lib/faker/deprecate/south_park.rb +20 -0
  161. data/lib/faker/deprecate/star_trek.rb +30 -0
  162. data/lib/faker/deprecate/star_wars.rb +95 -0
  163. data/lib/faker/deprecate/stargate.rb +25 -0
  164. data/lib/faker/deprecate/stranger_things.rb +20 -0
  165. data/lib/faker/deprecate/sword_art_online.rb +30 -0
  166. data/lib/faker/deprecate/tezos.rb +33 -0
  167. data/lib/faker/deprecate/the_fresh_prince_of_bel_air.rb +25 -0
  168. data/lib/faker/deprecate/the_it_crowd.rb +30 -0
  169. data/lib/faker/deprecate/the_thick_of_it.rb +25 -0
  170. data/lib/faker/deprecate/twin_peaks.rb +25 -0
  171. data/lib/faker/deprecate/umphreys_mcgee.rb +15 -0
  172. data/lib/faker/deprecate/v_for_vendetta.rb +25 -0
  173. data/lib/faker/deprecate/venture_bros.rb +30 -0
  174. data/lib/faker/deprecate/witcher.rb +40 -0
  175. data/lib/faker/deprecate/world_of_warcraft.rb +20 -0
  176. data/lib/faker/deprecate/yoda.rb +16 -0
  177. data/lib/faker/deprecate/zelda.rb +30 -0
  178. data/lib/faker/games/dota.rb +29 -0
  179. data/lib/faker/games/elder_scrolls.rb +41 -0
  180. data/lib/faker/games/fallout.rb +25 -0
  181. data/lib/faker/games/half_life.rb +21 -0
  182. data/lib/faker/games/heroes.rb +21 -0
  183. data/lib/faker/games/heroes_of_the_storm.rb +25 -0
  184. data/lib/faker/games/league_of_legends.rb +33 -0
  185. data/lib/faker/games/myst.rb +29 -0
  186. data/lib/faker/games/overwatch.rb +21 -0
  187. data/lib/faker/games/pokemon.rb +21 -0
  188. data/lib/faker/games/sonic_the_hedgehog.rb +21 -0
  189. data/lib/faker/games/super_smash_bros.rb +17 -0
  190. data/lib/faker/games/witcher.rb +33 -0
  191. data/lib/faker/games/world_of_warcraft.rb +17 -0
  192. data/lib/faker/games/zelda.rb +26 -0
  193. data/lib/faker/japanese_media/dragon_ball.rb +13 -0
  194. data/lib/faker/japanese_media/one_piece.rb +33 -0
  195. data/lib/faker/japanese_media/sword_art_online.rb +25 -0
  196. data/lib/faker/movies/back_to_the_future.rb +21 -0
  197. data/lib/faker/movies/ghostbusters.rb +21 -0
  198. data/lib/faker/movies/grateful_dead.rb +17 -0
  199. data/lib/faker/movies/harry_potter.rb +33 -0
  200. data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +37 -0
  201. data/lib/faker/movies/hobbit.rb +25 -0
  202. data/lib/faker/movies/lebowski.rb +21 -0
  203. data/lib/faker/movies/lord_of_the_rings.rb +21 -0
  204. data/lib/faker/{movie.rb → movies/movie.rb} +2 -0
  205. data/lib/faker/movies/princess_bride.rb +17 -0
  206. data/lib/faker/movies/star_wars.rb +105 -0
  207. data/lib/faker/movies/v_for_vendetta.rb +21 -0
  208. data/lib/faker/{music.rb → music/music.rb} +2 -0
  209. data/lib/faker/music/phish.rb +13 -0
  210. data/lib/faker/music/rock_band.rb +13 -0
  211. data/lib/faker/music/umphreys_mcgee.rb +13 -0
  212. data/lib/faker/quotes/quote.rb +32 -0
  213. data/lib/faker/quotes/shakespeare.rb +41 -0
  214. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +15 -0
  215. data/lib/faker/tv_shows/bojack_horseman.rb +23 -0
  216. data/lib/faker/tv_shows/breaking_bad.rb +19 -0
  217. data/lib/faker/tv_shows/buffy.rb +31 -0
  218. data/lib/faker/tv_shows/community.rb +19 -0
  219. data/lib/faker/tv_shows/dr_who.rb +39 -0
  220. data/lib/faker/tv_shows/dumb_and_dumber.rb +23 -0
  221. data/lib/faker/tv_shows/family_guy.rb +23 -0
  222. data/lib/faker/tv_shows/friends.rb +23 -0
  223. data/lib/faker/tv_shows/game_of_thrones.rb +31 -0
  224. data/lib/faker/tv_shows/hey_arnold.rb +23 -0
  225. data/lib/faker/tv_shows/how_i_met_your_mother.rb +27 -0
  226. data/lib/faker/tv_shows/michael_scott.rb +13 -0
  227. data/lib/faker/tv_shows/new_girl.rb +19 -0
  228. data/lib/faker/tv_shows/parks_and_rec.rb +19 -0
  229. data/lib/faker/tv_shows/rick_and_morty.rb +23 -0
  230. data/lib/faker/tv_shows/ru_paul.rb +19 -0
  231. data/lib/faker/tv_shows/seinfeld.rb +23 -0
  232. data/lib/faker/tv_shows/silicon_valley.rb +43 -0
  233. data/lib/faker/tv_shows/simpsons.rb +23 -0
  234. data/lib/faker/tv_shows/south_park.rb +19 -0
  235. data/lib/faker/tv_shows/star_trek.rb +27 -0
  236. data/lib/faker/tv_shows/stargate.rb +23 -0
  237. data/lib/faker/tv_shows/stranger_things.rb +19 -0
  238. data/lib/faker/tv_shows/the_expanse.rb +27 -0
  239. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +23 -0
  240. data/lib/faker/tv_shows/the_it_crowd.rb +27 -0
  241. data/lib/faker/tv_shows/the_thick_of_it.rb +23 -0
  242. data/lib/faker/tv_shows/twin_peaks.rb +23 -0
  243. data/lib/faker/tv_shows/venture_bros.rb +27 -0
  244. data/lib/faker/version.rb +3 -1
  245. data/lib/helpers/base58.rb +22 -0
  246. data/lib/helpers/char.rb +2 -0
  247. data/lib/helpers/i18n_backend.rb +10 -0
  248. data/lib/helpers/unique_generator.rb +19 -1
  249. data/lib/locales/README.md +8 -9
  250. data/lib/locales/ar.yml +102 -0
  251. data/lib/locales/arm.yml +371 -0
  252. data/lib/locales/bg.yml +3 -0
  253. data/lib/locales/ca.yml +6 -0
  254. data/lib/locales/da-DK.yml +6 -3
  255. data/lib/locales/de-AT.yml +6 -0
  256. data/lib/locales/de.yml +10 -3
  257. data/lib/locales/ee.yml +3 -1
  258. data/lib/locales/en-AU.yml +2 -0
  259. data/lib/locales/en-IND.yml +2 -0
  260. data/lib/locales/en-MS.yml +6 -0
  261. data/lib/locales/en-NEP.yml +2 -2
  262. data/lib/locales/en-NG.yml +2 -0
  263. data/lib/locales/en-NZ.yml +2 -6
  264. data/lib/locales/en-PAK.yml +2 -1
  265. data/lib/locales/en-SG.yml +4 -0
  266. data/lib/locales/en-ZA.yml +114 -17
  267. data/lib/locales/en.yml +0 -1
  268. data/lib/locales/en/address.yml +496 -1
  269. data/lib/locales/en/animal.yml +6 -0
  270. data/lib/locales/en/beer.yml +2 -1
  271. data/lib/locales/en/bojack_horseman.yml +2 -2
  272. data/lib/locales/en/buffy.yml +260 -0
  273. data/lib/locales/en/cat.yml +5 -4
  274. data/lib/locales/en/coin.yml +6 -0
  275. data/lib/locales/en/company.yml +1 -1
  276. data/lib/locales/en/construction.yml +425 -0
  277. data/lib/locales/en/cosmere.yml +57 -0
  278. data/lib/locales/en/crypto_coin.yml +9 -0
  279. data/lib/locales/en/culture_series.yml +307 -0
  280. data/lib/locales/en/currency.yml +1 -1
  281. data/lib/locales/en/dc_comics.yml +52 -0
  282. data/lib/locales/en/device.yml +3 -3
  283. data/lib/locales/en/dog.yml +9 -9
  284. data/lib/locales/en/dota.yml +101 -100
  285. data/lib/locales/en/dragon_ball.yml +1 -1
  286. data/lib/locales/en/educator.yml +2 -1
  287. data/lib/locales/en/elder_scrolls.yml +9 -8
  288. data/lib/locales/en/esport.yml +5 -5
  289. data/lib/locales/en/fallout.yml +135 -134
  290. data/lib/locales/en/finance.yml +63 -0
  291. data/lib/locales/en/food.yml +3 -2
  292. data/lib/locales/en/football.yml +1 -0
  293. data/lib/locales/en/friends.yml +3 -3
  294. data/lib/locales/en/ghostbusters.yml +91 -0
  295. data/lib/locales/en/grateful_dead.yml +47 -0
  296. data/lib/locales/en/half_life.yml +7 -0
  297. data/lib/locales/en/heroes.yml +6 -0
  298. data/lib/locales/en/heroes_of_the_storm.yml +7 -0
  299. data/lib/locales/en/house.yml +5 -0
  300. data/lib/locales/en/industry_segments.yml +7 -0
  301. data/lib/locales/en/kpop.yml +2 -2
  302. data/lib/locales/en/league_of_legends.yml +8 -7
  303. data/lib/locales/en/lorem.yml +2 -0
  304. data/lib/locales/en/marketing.yml +4 -0
  305. data/lib/locales/en/music.yml +3 -3
  306. data/lib/locales/en/myst.yml +41 -40
  307. data/lib/locales/en/name.yml +6 -7
  308. data/lib/locales/en/nation.yml +3 -0
  309. data/lib/locales/en/overwatch.yml +39 -34
  310. data/lib/locales/en/phish.yml +4 -0
  311. data/lib/locales/en/phone_number.yml +1 -0
  312. data/lib/locales/en/pokemon.yml +5 -4
  313. data/lib/locales/en/quote.yml +166 -0
  314. data/lib/locales/en/relationship.yml +10 -0
  315. data/lib/locales/en/restaurant.yml +129 -0
  316. data/lib/locales/en/seinfeld.yml +2 -1
  317. data/lib/locales/en/sonic_the_hedgehog.yml +410 -0
  318. data/lib/locales/en/south_park.yml +5 -0
  319. data/lib/locales/en/star_wars.yml +3 -3
  320. data/lib/locales/en/subscription.yml +8 -0
  321. data/lib/locales/en/super_smash_bros.yml +197 -0
  322. data/lib/locales/en/the_expanse.yml +7 -0
  323. data/lib/locales/en/vehicle.yml +62 -58
  324. data/lib/locales/en/witcher.yml +8 -7
  325. data/lib/locales/en/world_of_warcraft.yml +5 -4
  326. data/lib/locales/en/zelda.yml +6 -5
  327. data/lib/locales/es-MX.yml +14 -1
  328. data/lib/locales/es.yml +13 -0
  329. data/lib/locales/fa.yml +4 -0
  330. data/lib/locales/fi-FI.yml +4 -3
  331. data/lib/locales/fr-CA.yml +18 -13
  332. data/lib/locales/fr-CH.yml +16 -10
  333. data/lib/locales/fr.yml +45 -1
  334. data/lib/locales/he.yml +2 -0
  335. data/lib/locales/id.yml +2 -0
  336. data/lib/locales/it.yml +12 -1
  337. data/lib/locales/ja.yml +45 -21
  338. data/lib/locales/ko.yml +2 -0
  339. data/lib/locales/lv.yml +2 -0
  340. data/lib/locales/nb-NO.yml +11 -4
  341. data/lib/locales/nl.yml +13 -4
  342. data/lib/locales/pl.yml +11 -1
  343. data/lib/locales/pt-BR.yml +578 -4
  344. data/lib/locales/pt.yml +10 -3
  345. data/lib/locales/ru.yml +3 -1
  346. data/lib/locales/sk.yml +19 -13
  347. data/lib/locales/sv.yml +11 -3
  348. data/lib/locales/tr.yml +6 -0
  349. data/lib/locales/uk.yml +2 -0
  350. data/lib/locales/vi.yml +6 -1
  351. data/lib/locales/zh-CN.yml +3 -0
  352. data/lib/locales/zh-TW.yml +3 -1
  353. metadata +271 -164
  354. data/lib/extensions/array.rb +0 -22
  355. data/lib/extensions/symbol.rb +0 -8
  356. data/lib/faker/aqua_teen_hunger_force.rb +0 -9
  357. data/lib/faker/back_to_the_future.rb +0 -17
  358. data/lib/faker/bitcoin.rb +0 -47
  359. data/lib/faker/bojack_horseman.rb +0 -17
  360. data/lib/faker/breaking_bad.rb +0 -13
  361. data/lib/faker/cat.rb +0 -19
  362. data/lib/faker/community.rb +0 -13
  363. data/lib/faker/dog.rb +0 -39
  364. data/lib/faker/dota.rb +0 -25
  365. data/lib/faker/dr_who.rb +0 -33
  366. data/lib/faker/dragon_ball.rb +0 -9
  367. data/lib/faker/dumb_and_dumber.rb +0 -17
  368. data/lib/faker/dune.rb +0 -54
  369. data/lib/faker/educator.rb +0 -23
  370. data/lib/faker/elder_scrolls.rb +0 -37
  371. data/lib/faker/ethereum.rb +0 -12
  372. data/lib/faker/fallout.rb +0 -21
  373. data/lib/faker/family_guy.rb +0 -17
  374. data/lib/faker/famous_last_words.rb +0 -11
  375. data/lib/faker/friends.rb +0 -17
  376. data/lib/faker/game_of_thrones.rb +0 -25
  377. data/lib/faker/harry_potter.rb +0 -29
  378. data/lib/faker/hey_arnold.rb +0 -17
  379. data/lib/faker/hitchhikers_guide_to_the_galaxy.rb +0 -33
  380. data/lib/faker/hobbit.rb +0 -21
  381. data/lib/faker/how_i_met_your_mother.rb +0 -21
  382. data/lib/faker/id_number.rb +0 -51
  383. data/lib/faker/league_of_legends.rb +0 -29
  384. data/lib/faker/lebowski.rb +0 -17
  385. data/lib/faker/lord_of_the_rings.rb +0 -17
  386. data/lib/faker/lovecraft.rb +0 -80
  387. data/lib/faker/matz.rb +0 -9
  388. data/lib/faker/michael_scott.rb +0 -9
  389. data/lib/faker/most_interesting_man_in_the_world.rb +0 -9
  390. data/lib/faker/myst.rb +0 -25
  391. data/lib/faker/new_girl.rb +0 -13
  392. data/lib/faker/one_piece.rb +0 -29
  393. data/lib/faker/overwatch.rb +0 -17
  394. data/lib/faker/parks_and_rec.rb +0 -13
  395. data/lib/faker/pokemon.rb +0 -17
  396. data/lib/faker/princess_bride.rb +0 -13
  397. data/lib/faker/rick_and_morty.rb +0 -17
  398. data/lib/faker/robin.rb +0 -9
  399. data/lib/faker/rock_band.rb +0 -9
  400. data/lib/faker/rupaul.rb +0 -15
  401. data/lib/faker/seinfeld.rb +0 -13
  402. data/lib/faker/shakespeare.rb +0 -37
  403. data/lib/faker/silicon_valley.rb +0 -37
  404. data/lib/faker/simpsons.rb +0 -17
  405. data/lib/faker/singular_siegler.rb +0 -9
  406. data/lib/faker/star_trek.rb +0 -21
  407. data/lib/faker/star_wars.rb +0 -101
  408. data/lib/faker/stargate.rb +0 -17
  409. data/lib/faker/stranger_thing.rb +0 -13
  410. data/lib/faker/sword_art_online.rb +0 -21
  411. data/lib/faker/the_fresh_prince_of_bel_air.rb +0 -17
  412. data/lib/faker/the_it_crowd.rb +0 -21
  413. data/lib/faker/the_thick_of_it.rb +0 -17
  414. data/lib/faker/twin_peaks.rb +0 -17
  415. data/lib/faker/umphreys_mcgee.rb +0 -9
  416. data/lib/faker/v_for_vendetta.rb +0 -17
  417. data/lib/faker/vehicle.rb +0 -101
  418. data/lib/faker/venture_bros.rb +0 -21
  419. data/lib/faker/witcher.rb +0 -29
  420. data/lib/faker/world_of_warcraft.rb +0 -13
  421. data/lib/faker/yoda.rb +0 -10
  422. data/lib/faker/zelda.rb +0 -22
  423. data/lib/locales/en/famous_last_words.yml +0 -4
  424. data/lib/locales/en/matz.yml +0 -28
  425. data/lib/locales/en/most_interesting_man_in_the_world.yml +0 -106
  426. data/lib/locales/en/robin.yml +0 -4
  427. data/lib/locales/en/singular_siegler.yml +0 -37
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Currency < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Date < Base
3
5
  class << self
@@ -10,6 +12,7 @@ module Faker
10
12
 
11
13
  def between_except(from, to, excepted)
12
14
  raise ArgumentError, 'From date, to date and excepted date must not be the same' if from == to && to == excepted
15
+
13
16
  excepted = get_date_object(excepted)
14
17
 
15
18
  loop do
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class DcComics < Base
5
+ def self.hero
6
+ fetch('dc_comics.hero')
7
+ end
8
+
9
+ def self.heroine
10
+ fetch('dc_comics.heroine')
11
+ end
12
+
13
+ def self.villain
14
+ fetch('dc_comics.villain')
15
+ end
16
+
17
+ def self.name
18
+ fetch('dc_comics.name')
19
+ end
20
+
21
+ def self.title
22
+ fetch('dc_comics.title')
23
+ end
24
+ end
25
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Demographic < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Dessert < Base
3
5
  flexible :dessert
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Device < Base
3
5
  class << self
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class DrivingLicence < Base
5
+ GB_PADDING = '9999'
6
+ NI_CHANCE = 0.03 # NI Pop is about 3% of total UK population
7
+
8
+ class << self
9
+ def british_driving_licence(last_name: Faker::Name.last_name,
10
+ initials: Faker::Name.initials,
11
+ gender: random_gender,
12
+ date_of_birth: Faker::Date.birthday(18, 65))
13
+ [
14
+ gb_licence_padding(last_name, 5),
15
+ gb_licence_year(date_of_birth, gender),
16
+ gb_licence_padding(initials, 2),
17
+ gb_licence_checksum
18
+ ].join
19
+ end
20
+
21
+ def northern_irish_driving_licence
22
+ Faker::Number.number(8)
23
+ end
24
+
25
+ def uk_driving_licence(*args)
26
+ if Faker::Config.random.rand < NI_CHANCE
27
+ northern_irish_driving_licence
28
+ else
29
+ british_driving_licence(*args)
30
+ end
31
+ end
32
+
33
+ private
34
+
35
+ def random_gender
36
+ %i[male female].sample(random: Faker::Config.random)
37
+ end
38
+
39
+ def gb_licence_padding(str, num_chars)
40
+ prepped = str.upcase.gsub(%r{[^A-Z]}, '') + GB_PADDING
41
+ prepped[0..(num_chars - 1)]
42
+ end
43
+
44
+ def gb_licence_year(dob, gender)
45
+ decade = (dob.year / 10) % 10
46
+ year = dob.year % 10
47
+ month = gender == :female ? dob.month + 50 : dob.month
48
+ # Rubocop's preferred formatting is pretty gory
49
+ # rubocop:disable FormatString
50
+ "#{decade}#{'%02d' % month}#{'%02d' % dob.day}#{year}"
51
+ # rubocop:enable FormatString
52
+ end
53
+
54
+ def gb_licence_checksum
55
+ regexify(/[0-9][A-Z][A-Z]/)
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Educator < Base
5
+ flexible :educator
6
+
7
+ class << self
8
+ extend Gem::Deprecate
9
+
10
+ def university
11
+ "#{parse('educator.name')} #{fetch('educator.tertiary.type')}"
12
+ end
13
+
14
+ def degree
15
+ "#{fetch('educator.tertiary.degree.type')} #{fetch('educator.tertiary.degree.subject')}"
16
+ end
17
+
18
+ alias course degree
19
+ deprecate :course, :course_name, 2018, 10
20
+
21
+ def subject
22
+ fetch('educator.tertiary.degree.subject')
23
+ end
24
+
25
+ def course_name
26
+ "#{fetch('educator.tertiary.degree.subject')} #{numerify(fetch('educator.tertiary.degree.course_number'))}"
27
+ end
28
+
29
+ def secondary_school
30
+ "#{parse('educator.name')} #{fetch('educator.secondary')}"
31
+ end
32
+
33
+ def campus
34
+ "#{parse('educator.name')} Campus"
35
+ end
36
+ end
37
+ end
38
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class ElectricalComponents < Base
3
5
  flexible :electrical_components
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Esport < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class File < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Fillmurray < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Finance < Base
3
5
  CREDIT_CARD_TYPES = %i[visa mastercard discover american_express
@@ -16,12 +18,23 @@ module Faker
16
18
  multiplier = (multiplier == 2 ? 1 : 2)
17
19
  sum + (digit * multiplier).to_s.split('').map(&:to_i).inject(0) { |digit_sum, cur| digit_sum + cur }
18
20
  end
21
+
19
22
  # the sum plus whatever the last digit is must be a multiple of 10. So, the
20
23
  # last digit must be 10 - the last digit of the sum.
21
24
  luhn_digit = (10 - (luhn_sum % 10)) % 10
22
25
 
23
26
  template.gsub('L', luhn_digit.to_s)
24
27
  end
28
+
29
+ def vat_number(country = 'BR')
30
+ numerify(fetch("finance.vat_number.#{country}"))
31
+ rescue I18n::MissingTranslationData
32
+ raise ArgumentError, "Could not find vat number for #{country}"
33
+ end
34
+
35
+ def vat_number_keys
36
+ translate('faker.finance.vat_number').keys
37
+ end
25
38
  end
26
39
  end
27
40
  end
@@ -1,5 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Food < Base
5
+ flexible :food
6
+
3
7
  class << self
4
8
  # Retrieves a typical dish from each country
5
9
  def dish
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Football < Base
3
5
  class << self
@@ -16,6 +18,10 @@ module Faker
16
18
  def competition
17
19
  fetch('football.competitions')
18
20
  end
21
+
22
+ def position
23
+ fetch('football.positions')
24
+ end
19
25
  end
20
26
  end
21
27
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class FunnyName < Base
3
5
  flexible :funny_name
@@ -33,7 +35,7 @@ module Faker
33
35
 
34
36
  def name_with_initial
35
37
  names_with_initials = fetch_all('funny_name.name').select do |name|
36
- name.count('.') > 0
38
+ name.count('.').positive?
37
39
  end
38
40
 
39
41
  sample(names_with_initials)
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ module Games
5
+ end
6
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Gender < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class GreekPhilosophers < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Port of http://shinytoylabs.com/jargon/
2
4
  module Faker
3
5
  class Hacker < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Hipster < Base
3
5
  class << self
@@ -15,6 +17,7 @@ module Faker
15
17
  word_list *= ((resolved_num / word_list.length) + 1)
16
18
 
17
19
  return shuffle(word_list)[0, resolved_num] if spaces_allowed
20
+
18
21
  words = shuffle(word_list)[0, resolved_num]
19
22
  words.each_with_index { |w, i| words[i] = word if w =~ /\s/ }
20
23
  end
@@ -50,18 +53,6 @@ module Faker
50
53
 
51
54
  paragraph[0...chars - 1] + '.'
52
55
  end
53
-
54
- private
55
-
56
- # If an array or range is passed, a random value will be selected.
57
- # All other values are simply returned.
58
- def resolve(value)
59
- case value
60
- when Array then value[rand(value.size)]
61
- when Range then value.to_a[rand(value.size)]
62
- else value
63
- end
64
- end
65
56
  end
66
57
  end
67
58
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class House < Base
5
+ class << self
6
+ def furniture
7
+ fetch('house.furniture')
8
+ end
9
+
10
+ def room
11
+ fetch('house.rooms')
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,119 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class IDNumber < Base
5
+ CHECKS = 'TRWAGMYFPDXBNJZSQVHLCKE'
6
+ INVALID_SSN = [
7
+ /0{3}-\d{2}-\d{4}/,
8
+ /\d{3}-0{2}-\d{4}/,
9
+ /\d{3}-\d{2}-0{4}/,
10
+ /666-\d{2}-\d{4}/,
11
+ /9\d{2}-\d{2}-\d{4}/
12
+ ].freeze
13
+ ZA_RACE_DIGIT = '8'
14
+ ZA_CITIZENSHIP_DIGITS = %w[0 1].freeze
15
+
16
+ class << self
17
+ def valid
18
+ _translate('valid')
19
+ end
20
+
21
+ def invalid
22
+ _translate('invalid')
23
+ end
24
+
25
+ def ssn_valid
26
+ ssn = regexify(/[0-8]\d{2}-\d{2}-\d{4}/)
27
+ # We could still have all 0s in one segment or another
28
+ INVALID_SSN.any? { |regex| regex =~ ssn } ? ssn_valid : ssn
29
+ end
30
+
31
+ def spanish_citizen_number
32
+ num = Faker::Number.number(8)
33
+ mod = num.to_i % 23
34
+ check = CHECKS[mod]
35
+ "#{num}-#{check}"
36
+ end
37
+
38
+ def spanish_foreign_citizen_number
39
+ code = 'XYZ'
40
+ digits = Faker::Number.number(7)
41
+ prefix = code[rand(code.length)]
42
+ prefix_val = 'XYZ'.index(prefix).to_s
43
+ mod = "#{prefix_val}#{digits}".to_i % 23
44
+ check = CHECKS[mod]
45
+ "#{prefix}-#{digits}-#{check}"
46
+ end
47
+
48
+ def valid_south_african_id_number
49
+ id_number = [
50
+ Faker::Date.birthday.strftime('%y%m%d'),
51
+ Faker::Number.number(4),
52
+ ZA_CITIZENSHIP_DIGITS.sample(random: Faker::Config.random),
53
+ ZA_RACE_DIGIT
54
+ ].join
55
+
56
+ [id_number, south_african_id_checksum_digit(id_number)].join
57
+ end
58
+
59
+ alias south_african_id_number valid_south_african_id_number
60
+
61
+ def invalid_south_african_id_number
62
+ invalid_date_of_birth = [
63
+ Faker::Number.number(2),
64
+ Faker::Number.between(13, 99),
65
+ Faker::Number.between(32, 99)
66
+ ].map(&:to_s).join
67
+
68
+ id_number = [
69
+ invalid_date_of_birth,
70
+ Faker::Number.number(4),
71
+ ZA_CITIZENSHIP_DIGITS.sample(random: Faker::Config.random),
72
+ ZA_RACE_DIGIT
73
+ ].join
74
+
75
+ [id_number, south_african_id_checksum_digit(id_number)].join
76
+ end
77
+
78
+ def brazilian_citizen_number(formatted: false)
79
+ digits = Faker::Number.leading_zero_number(9) until digits&.match(/(\d)((?!\1)\d)+/)
80
+ first_digit = brazilian_citizen_number_checksum_digit(digits)
81
+ second_digit = brazilian_citizen_number_checksum_digit(digits + first_digit)
82
+ number = [digits, first_digit, second_digit].join
83
+ formatted ? format('%s.%s.%s-%s', *number.scan(/\d{2,3}/).flatten) : number
84
+ end
85
+
86
+ private
87
+
88
+ def south_african_id_checksum_digit(id_number)
89
+ value_parts = id_number.chars
90
+ even_digits = value_parts
91
+ .select
92
+ .with_index { |_, i| (i + 1).even? }
93
+ odd_digits_without_last_character = value_parts[0...-1]
94
+ .select
95
+ .with_index { |_, i| (i + 1).odd? }
96
+
97
+ sum_of_odd_digits = odd_digits_without_last_character.map(&:to_i).reduce(:+)
98
+ even_digits_times_two = (even_digits.join('').to_i * 2).to_s
99
+ sum_of_even_digits = even_digits_times_two.chars.map(&:to_i).reduce(:+)
100
+
101
+ total_sum = sum_of_odd_digits + sum_of_even_digits
102
+
103
+ ((10 - (total_sum % 10)) % 10).to_s
104
+ end
105
+
106
+ def brazilian_citizen_number_checksum_digit(digits)
107
+ digit_sum = digits.chars.each_with_index.inject(0) do |acc, (digit, i)|
108
+ acc + digit.to_i * (digits.size + 1 - i)
109
+ end * 10
110
+ remainder = digit_sum % 11
111
+ remainder == 10 ? '0' : remainder.to_s
112
+ end
113
+
114
+ def _translate(key)
115
+ parse("id_number.#{key}")
116
+ end
117
+ end
118
+ end
119
+ end