faker 1.1.2 → 3.1.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 (569) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +2383 -0
  3. data/History.md +176 -0
  4. data/License.txt +2 -2
  5. data/README.md +487 -47
  6. data/bin/faker +5 -0
  7. data/lib/faker/blockchain/aeternity.rb +70 -0
  8. data/lib/faker/blockchain/bitcoin.rb +60 -0
  9. data/lib/faker/blockchain/ethereum.rb +26 -0
  10. data/lib/faker/blockchain/tezos.rb +135 -0
  11. data/lib/faker/books/book.rb +61 -0
  12. data/lib/faker/books/culture_series.rb +83 -0
  13. data/lib/faker/books/dune.rb +124 -0
  14. data/lib/faker/books/lovecraft.rb +249 -0
  15. data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
  16. data/lib/faker/creature/animal.rb +22 -0
  17. data/lib/faker/creature/bird.rb +203 -0
  18. data/lib/faker/creature/cat.rb +50 -0
  19. data/lib/faker/creature/dog.rb +115 -0
  20. data/lib/faker/creature/horse.rb +37 -0
  21. data/lib/faker/default/address.rb +348 -0
  22. data/lib/faker/default/adjective.rb +35 -0
  23. data/lib/faker/default/alphanumeric.rb +67 -0
  24. data/lib/faker/default/ancient.rb +59 -0
  25. data/lib/faker/default/app.rb +68 -0
  26. data/lib/faker/default/appliance.rb +33 -0
  27. data/lib/faker/default/artist.rb +20 -0
  28. data/lib/faker/default/avatar.rb +49 -0
  29. data/lib/faker/default/bank.rb +199 -0
  30. data/lib/faker/default/barcode.rb +165 -0
  31. data/lib/faker/default/beer.rb +113 -0
  32. data/lib/faker/default/blood.rb +48 -0
  33. data/lib/faker/default/boolean.rb +23 -0
  34. data/lib/faker/default/bossa_nova.rb +33 -0
  35. data/lib/faker/default/business.rb +50 -0
  36. data/lib/faker/default/camera.rb +46 -0
  37. data/lib/faker/default/cannabis.rb +135 -0
  38. data/lib/faker/default/chile_rut.rb +92 -0
  39. data/lib/faker/default/chuck_norris.rb +25 -0
  40. data/lib/faker/default/code.rb +269 -0
  41. data/lib/faker/default/coffee.rb +82 -0
  42. data/lib/faker/default/coin.rb +33 -0
  43. data/lib/faker/default/color.rb +150 -0
  44. data/lib/faker/default/commerce.rb +157 -0
  45. data/lib/faker/default/company.rb +571 -0
  46. data/lib/faker/default/compass.rb +202 -0
  47. data/lib/faker/default/computer.rb +63 -0
  48. data/lib/faker/default/construction.rb +83 -0
  49. data/lib/faker/default/cosmere.rb +138 -0
  50. data/lib/faker/default/crypto.rb +61 -0
  51. data/lib/faker/default/crypto_coin.rb +82 -0
  52. data/lib/faker/default/currency.rb +46 -0
  53. data/lib/faker/default/date.rb +153 -0
  54. data/lib/faker/default/dc_comics.rb +70 -0
  55. data/lib/faker/default/demographic.rb +94 -0
  56. data/lib/faker/default/dessert.rb +48 -0
  57. data/lib/faker/default/device.rb +85 -0
  58. data/lib/faker/default/driving_licence.rb +121 -0
  59. data/lib/faker/default/drone.rb +332 -0
  60. data/lib/faker/default/educator.rb +102 -0
  61. data/lib/faker/default/electrical_components.rb +48 -0
  62. data/lib/faker/default/emotion.rb +33 -0
  63. data/lib/faker/default/esport.rb +72 -0
  64. data/lib/faker/default/file.rb +81 -0
  65. data/lib/faker/default/fillmurray.rb +38 -0
  66. data/lib/faker/default/finance.rb +112 -0
  67. data/lib/faker/default/food.rb +126 -0
  68. data/lib/faker/default/funny_name.rb +90 -0
  69. data/lib/faker/default/gender.rb +46 -0
  70. data/lib/faker/default/greek_philosophers.rb +33 -0
  71. data/lib/faker/default/hacker.rb +103 -0
  72. data/lib/faker/default/hipster.rb +155 -0
  73. data/lib/faker/default/hobby.rb +22 -0
  74. data/lib/faker/default/house.rb +33 -0
  75. data/lib/faker/default/id_number.rb +410 -0
  76. data/lib/faker/default/industry_segments.rb +61 -0
  77. data/lib/faker/default/internet.rb +582 -0
  78. data/lib/faker/default/internet_http.rb +48 -0
  79. data/lib/faker/default/invoice.rb +123 -0
  80. data/lib/faker/default/job.rb +61 -0
  81. data/lib/faker/default/json.rb +125 -0
  82. data/lib/faker/default/kpop.rb +85 -0
  83. data/lib/faker/default/lorem.rb +250 -0
  84. data/lib/faker/default/lorem_flickr.rb +110 -0
  85. data/lib/faker/default/markdown.rb +170 -0
  86. data/lib/faker/default/marketing.rb +22 -0
  87. data/lib/faker/default/measurement.rb +175 -0
  88. data/lib/faker/default/military.rb +98 -0
  89. data/lib/faker/default/mountain.rb +33 -0
  90. data/lib/faker/default/name.rb +152 -0
  91. data/lib/faker/default/nation.rb +73 -0
  92. data/lib/faker/default/nato_phonetic_alphabet.rb +20 -0
  93. data/lib/faker/default/nhs.rb +53 -0
  94. data/lib/faker/default/number.rb +244 -0
  95. data/lib/faker/default/omniauth.rb +471 -0
  96. data/lib/faker/default/phone_number.rb +133 -0
  97. data/lib/faker/default/placeholdit.rb +52 -0
  98. data/lib/faker/default/programming_language.rb +33 -0
  99. data/lib/faker/default/relationship.rb +87 -0
  100. data/lib/faker/default/religion.rb +6 -0
  101. data/lib/faker/default/restaurant.rb +63 -0
  102. data/lib/faker/default/science.rb +154 -0
  103. data/lib/faker/default/slack_emoji.rb +124 -0
  104. data/lib/faker/default/source.rb +63 -0
  105. data/lib/faker/default/south_africa.rb +141 -0
  106. data/lib/faker/default/space.rb +191 -0
  107. data/lib/faker/default/string.rb +59 -0
  108. data/lib/faker/default/stripe.rb +126 -0
  109. data/lib/faker/default/subscription.rb +70 -0
  110. data/lib/faker/default/superhero.rb +72 -0
  111. data/lib/faker/default/tea.rb +41 -0
  112. data/lib/faker/default/team.rb +74 -0
  113. data/lib/faker/default/time.rb +149 -0
  114. data/lib/faker/default/twitter.rb +207 -0
  115. data/lib/faker/default/types.rb +160 -0
  116. data/lib/faker/default/university.rb +75 -0
  117. data/lib/faker/default/vehicle.rb +320 -0
  118. data/lib/faker/default/verb.rb +72 -0
  119. data/lib/faker/default/vulnerability_identifier.rb +23 -0
  120. data/lib/faker/default/world_cup.rb +77 -0
  121. data/lib/faker/fantasy/tolkien.rb +67 -0
  122. data/lib/faker/games/clash_of_clans.rb +48 -0
  123. data/lib/faker/games/control.rb +113 -0
  124. data/lib/faker/games/dnd.rb +136 -0
  125. data/lib/faker/games/dota.rb +89 -0
  126. data/lib/faker/games/elder_scrolls.rb +139 -0
  127. data/lib/faker/games/fallout.rb +62 -0
  128. data/lib/faker/games/game.rb +48 -0
  129. data/lib/faker/games/half_life.rb +48 -0
  130. data/lib/faker/games/heroes.rb +61 -0
  131. data/lib/faker/games/heroes_of_the_storm.rb +72 -0
  132. data/lib/faker/games/league_of_legends.rb +87 -0
  133. data/lib/faker/games/minecraft.rb +113 -0
  134. data/lib/faker/games/myst.rb +74 -0
  135. data/lib/faker/games/overwatch.rb +48 -0
  136. data/lib/faker/games/pokemon.rb +48 -0
  137. data/lib/faker/games/sonic_the_hedgehog.rb +48 -0
  138. data/lib/faker/games/street_fighter.rb +61 -0
  139. data/lib/faker/games/super_mario.rb +48 -0
  140. data/lib/faker/games/super_smash_bros.rb +35 -0
  141. data/lib/faker/games/tarkov.rb +205 -0
  142. data/lib/faker/games/touhou.rb +75 -0
  143. data/lib/faker/games/warhammer_fantasy.rb +74 -0
  144. data/lib/faker/games/witcher.rb +126 -0
  145. data/lib/faker/games/world_of_warcraft.rb +60 -0
  146. data/lib/faker/games/zelda.rb +62 -0
  147. data/lib/faker/japanese_media/conan.rb +48 -0
  148. data/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
  149. data/lib/faker/japanese_media/doraemon.rb +48 -0
  150. data/lib/faker/japanese_media/dragon_ball.rb +48 -0
  151. data/lib/faker/japanese_media/fullmetal_alchemist_brotherhood.rb +48 -0
  152. data/lib/faker/japanese_media/kamen_rider.rb +102 -0
  153. data/lib/faker/japanese_media/naruto.rb +61 -0
  154. data/lib/faker/japanese_media/one_piece.rb +87 -0
  155. data/lib/faker/japanese_media/studio_ghibli.rb +48 -0
  156. data/lib/faker/japanese_media/sword_art_online.rb +61 -0
  157. data/lib/faker/locations/australia.rb +47 -0
  158. data/lib/faker/movies/back_to_the_future.rb +49 -0
  159. data/lib/faker/movies/departed.rb +49 -0
  160. data/lib/faker/movies/ghostbusters.rb +49 -0
  161. data/lib/faker/movies/hackers.rb +48 -0
  162. data/lib/faker/movies/harry_potter.rb +87 -0
  163. data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +106 -0
  164. data/lib/faker/movies/hobbit.rb +62 -0
  165. data/lib/faker/movies/how_to_train_your_dragon.rb +48 -0
  166. data/lib/faker/movies/lebowski.rb +48 -0
  167. data/lib/faker/movies/lord_of_the_rings.rb +49 -0
  168. data/lib/faker/movies/movie.rb +33 -0
  169. data/lib/faker/movies/princess_bride.rb +36 -0
  170. data/lib/faker/movies/room.rb +63 -0
  171. data/lib/faker/movies/star_wars.rb +269 -0
  172. data/lib/faker/movies/tron.rb +161 -0
  173. data/lib/faker/movies/v_for_vendetta.rb +50 -0
  174. data/lib/faker/music/grateful_dead.rb +37 -0
  175. data/lib/faker/music/hiphop.rb +48 -0
  176. data/lib/faker/music/music.rb +145 -0
  177. data/lib/faker/music/opera.rb +298 -0
  178. data/lib/faker/music/pearl_jam.rb +50 -0
  179. data/lib/faker/music/phish.rb +48 -0
  180. data/lib/faker/music/prince.rb +64 -0
  181. data/lib/faker/music/rock_band.rb +34 -0
  182. data/lib/faker/music/rush.rb +37 -0
  183. data/lib/faker/music/show.rb +49 -0
  184. data/lib/faker/music/umphreys_mcgee.rb +22 -0
  185. data/lib/faker/quotes/chiquito.rb +80 -0
  186. data/lib/faker/quotes/quote.rb +111 -0
  187. data/lib/faker/quotes/rajnikanth.rb +27 -0
  188. data/lib/faker/quotes/shakespeare.rb +111 -0
  189. data/lib/faker/religion/bible.rb +50 -0
  190. data/lib/faker/sports/basketball.rb +61 -0
  191. data/lib/faker/sports/football.rb +74 -0
  192. data/lib/faker/sports/mountaineering.rb +22 -0
  193. data/lib/faker/sports/sport.rb +116 -0
  194. data/lib/faker/sports/volleyball.rb +74 -0
  195. data/lib/faker/travel/airport.rb +47 -0
  196. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +37 -0
  197. data/lib/faker/tv_shows/big_bang_theory.rb +37 -0
  198. data/lib/faker/tv_shows/bojack_horseman.rb +51 -0
  199. data/lib/faker/tv_shows/breaking_bad.rb +37 -0
  200. data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
  201. data/lib/faker/tv_shows/buffy.rb +89 -0
  202. data/lib/faker/tv_shows/community.rb +38 -0
  203. data/lib/faker/tv_shows/dr_who.rb +115 -0
  204. data/lib/faker/tv_shows/dumb_and_dumber.rb +51 -0
  205. data/lib/faker/tv_shows/family_guy.rb +51 -0
  206. data/lib/faker/tv_shows/final_space.rb +51 -0
  207. data/lib/faker/tv_shows/friends.rb +50 -0
  208. data/lib/faker/tv_shows/futurama.rb +65 -0
  209. data/lib/faker/tv_shows/game_of_thrones.rb +77 -0
  210. data/lib/faker/tv_shows/hey_arnold.rb +50 -0
  211. data/lib/faker/tv_shows/how_i_met_your_mother.rb +64 -0
  212. data/lib/faker/tv_shows/michael_scott.rb +23 -0
  213. data/lib/faker/tv_shows/new_girl.rb +38 -0
  214. data/lib/faker/tv_shows/parks_and_rec.rb +37 -0
  215. data/lib/faker/tv_shows/rick_and_morty.rb +51 -0
  216. data/lib/faker/tv_shows/ru_paul.rb +37 -0
  217. data/lib/faker/tv_shows/seinfeld.rb +51 -0
  218. data/lib/faker/tv_shows/silicon_valley.rb +118 -0
  219. data/lib/faker/tv_shows/simpsons.rb +65 -0
  220. data/lib/faker/tv_shows/south_park.rb +38 -0
  221. data/lib/faker/tv_shows/spongebob.rb +50 -0
  222. data/lib/faker/tv_shows/star_trek.rb +63 -0
  223. data/lib/faker/tv_shows/stargate.rb +51 -0
  224. data/lib/faker/tv_shows/stranger_things.rb +38 -0
  225. data/lib/faker/tv_shows/suits.rb +37 -0
  226. data/lib/faker/tv_shows/supernatural.rb +48 -0
  227. data/lib/faker/tv_shows/the_expanse.rb +63 -0
  228. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +64 -0
  229. data/lib/faker/tv_shows/the_it_crowd.rb +64 -0
  230. data/lib/faker/tv_shows/the_office.rb +37 -0
  231. data/lib/faker/tv_shows/the_thick_of_it.rb +51 -0
  232. data/lib/faker/tv_shows/twin_peaks.rb +51 -0
  233. data/lib/faker/tv_shows/venture_bros.rb +65 -0
  234. data/lib/faker/version.rb +4 -2
  235. data/lib/faker.rb +170 -58
  236. data/lib/helpers/base58.rb +22 -0
  237. data/lib/helpers/char.rb +61 -0
  238. data/lib/helpers/unique_generator.rb +60 -0
  239. data/lib/locales/README.md +40 -0
  240. data/lib/locales/ar.yml +106 -0
  241. data/lib/locales/bg.yml +44 -0
  242. data/lib/locales/ca-CAT.yml +24 -0
  243. data/lib/locales/ca.yml +23 -0
  244. data/lib/locales/da-DK.yml +72 -0
  245. data/lib/locales/de-AT.yml +57 -0
  246. data/lib/locales/de-CH.yml +1713 -0
  247. data/lib/locales/de.yml +131 -9
  248. data/lib/locales/ee.yml +61 -0
  249. data/lib/locales/en/README.md +13 -0
  250. data/lib/locales/en/address.yml +586 -0
  251. data/lib/locales/en/adjective.yml +179 -0
  252. data/lib/locales/en/airport.yml +381 -0
  253. data/lib/locales/en/ancient.yml +7 -0
  254. data/lib/locales/en/animal.yml +6 -0
  255. data/lib/locales/en/app.yml +8 -0
  256. data/lib/locales/en/appliance.yml +5 -0
  257. data/lib/locales/en/aqua_teen_hunger_force.yml +36 -0
  258. data/lib/locales/en/artist.yml +4 -0
  259. data/lib/locales/en/australia.yml +107 -0
  260. data/lib/locales/en/back_to_the_future.yml +120 -0
  261. data/lib/locales/en/bank.yml +302 -0
  262. data/lib/locales/en/barcode.yml +24 -0
  263. data/lib/locales/en/basketball.yml +99 -0
  264. data/lib/locales/en/beer.yml +9 -0
  265. data/lib/locales/en/bible.yml +90 -0
  266. data/lib/locales/en/big_bang_theory.yml +38 -0
  267. data/lib/locales/en/bird.yml +1281 -0
  268. data/lib/locales/en/blood.yml +13 -0
  269. data/lib/locales/en/bojack_horseman.yml +6 -0
  270. data/lib/locales/en/book.yml +491 -0
  271. data/lib/locales/en/bossa_nova.yml +6 -0
  272. data/lib/locales/en/breaking_bad.yml +28 -0
  273. data/lib/locales/en/brooklyn_nine_nine.yml +35 -0
  274. data/lib/locales/en/buffy.yml +260 -0
  275. data/lib/locales/en/business.yml +5 -0
  276. data/lib/locales/en/camera.yml +611 -0
  277. data/lib/locales/en/cannabis.yml +13 -0
  278. data/lib/locales/en/cat.yml +7 -0
  279. data/lib/locales/en/chiquito.yml +64 -0
  280. data/lib/locales/en/chuck_norris.yml +82 -0
  281. data/lib/locales/en/clash_of_clan.yml +101 -0
  282. data/lib/locales/en/code.yml +4 -0
  283. data/lib/locales/en/coffee.yml +31 -0
  284. data/lib/locales/en/coin.yml +6 -0
  285. data/lib/locales/en/color.yml +4 -0
  286. data/lib/locales/en/commerce.yml +28 -0
  287. data/lib/locales/en/community.yml +33 -0
  288. data/lib/locales/en/company.yml +22 -0
  289. data/lib/locales/en/compass.yml +34 -0
  290. data/lib/locales/en/computer.yml +55 -0
  291. data/lib/locales/en/conan.yml +171 -0
  292. data/lib/locales/en/construction.yml +425 -0
  293. data/lib/locales/en/control.yml +247 -0
  294. data/lib/locales/en/cosmere.yml +57 -0
  295. data/lib/locales/en/cowboy_bebop.yml +163 -0
  296. data/lib/locales/en/crypto_coin.yml +25 -0
  297. data/lib/locales/en/culture_series.yml +307 -0
  298. data/lib/locales/en/currency.yml +6 -0
  299. data/lib/locales/en/dc_comics.yml +52 -0
  300. data/lib/locales/en/demographic.yml +221 -0
  301. data/lib/locales/en/departed.yml +50 -0
  302. data/lib/locales/en/dessert.yml +6 -0
  303. data/lib/locales/en/device.yml +115 -0
  304. data/lib/locales/en/dnd.yml +451 -0
  305. data/lib/locales/en/dog.yml +11 -0
  306. data/lib/locales/en/doraemon.yml +286 -0
  307. data/lib/locales/en/dota.yml +693 -0
  308. data/lib/locales/en/dr_who.yml +96 -0
  309. data/lib/locales/en/dragon_ball.yml +246 -0
  310. data/lib/locales/en/driving_license.yml +181 -0
  311. data/lib/locales/en/drone.yml +95 -0
  312. data/lib/locales/en/dumb_and_dumber.yml +59 -0
  313. data/lib/locales/en/dune.yml +298 -0
  314. data/lib/locales/en/educator.yml +80 -0
  315. data/lib/locales/en/elder_scrolls.yml +585 -0
  316. data/lib/locales/en/electrical_components.yml +6 -0
  317. data/lib/locales/en/emotion.yml +480 -0
  318. data/lib/locales/en/esport.yml +8 -0
  319. data/lib/locales/en/fallout.yml +315 -0
  320. data/lib/locales/en/family_guy.yml +7 -0
  321. data/lib/locales/en/file.yml +13 -0
  322. data/lib/locales/en/final_space.yml +37 -0
  323. data/lib/locales/en/finance.yml +189 -0
  324. data/lib/locales/en/fma_brotherhood.yml +78 -0
  325. data/lib/locales/en/food.yml +1057 -0
  326. data/lib/locales/en/football.yml +8 -0
  327. data/lib/locales/en/fresh_prince_of_bel_air.yml +73 -0
  328. data/lib/locales/en/friends.yml +6 -0
  329. data/lib/locales/en/funny_name.yml +4 -0
  330. data/lib/locales/en/futurama.yml +344 -0
  331. data/lib/locales/en/game.yml +294 -0
  332. data/lib/locales/en/game_of_thrones.yml +8 -0
  333. data/lib/locales/en/gender.yml +6 -0
  334. data/lib/locales/en/ghostbusters.yml +91 -0
  335. data/lib/locales/en/grateful_dead.yml +48 -0
  336. data/lib/locales/en/greek_philosophers.yml +26 -0
  337. data/lib/locales/en/hacker.yml +8 -0
  338. data/lib/locales/en/hackers.yml +53 -0
  339. data/lib/locales/en/half_life.yml +88 -0
  340. data/lib/locales/en/harry_potter.yml +9 -0
  341. data/lib/locales/en/heroes.yml +411 -0
  342. data/lib/locales/en/heroes_of_the_storm.yml +134 -0
  343. data/lib/locales/en/hey_arnold.yml +24 -0
  344. data/lib/locales/en/hipster.yml +4 -0
  345. data/lib/locales/en/hitchhikers_guide_to_the_galaxy.yml +45 -0
  346. data/lib/locales/en/hobby.yml +171 -0
  347. data/lib/locales/en/horse.yml +6 -0
  348. data/lib/locales/en/house.yml +5 -0
  349. data/lib/locales/en/how_i_met_your_mother.yml +28 -0
  350. data/lib/locales/en/how_to_train_your_dragon.yml +174 -0
  351. data/lib/locales/en/id_number.yml +5 -0
  352. data/lib/locales/en/industry_segments.yml +7 -0
  353. data/lib/locales/en/internet.yml +155 -0
  354. data/lib/locales/en/invoice.yml +6 -0
  355. data/lib/locales/en/jack_handey.yml +54 -0
  356. data/lib/locales/en/job.yml +15 -0
  357. data/lib/locales/en/kamen_rider.yml +452 -0
  358. data/lib/locales/en/kpop.yml +83 -0
  359. data/lib/locales/en/league_of_legends.yml +289 -0
  360. data/lib/locales/en/lebowski.yml +43 -0
  361. data/lib/locales/en/lorem.yml +11 -0
  362. data/lib/locales/en/lovecraft.yml +79 -0
  363. data/lib/locales/en/markdown.yml +5 -0
  364. data/lib/locales/en/marketing.yml +4 -0
  365. data/lib/locales/en/measurement.yml +11 -0
  366. data/lib/locales/en/michael_scott.yml +45 -0
  367. data/lib/locales/en/military.yml +182 -0
  368. data/lib/locales/en/minecraft.yml +663 -0
  369. data/lib/locales/en/mountain.yml +171 -0
  370. data/lib/locales/en/mountaineering.yml +14 -0
  371. data/lib/locales/en/movie.yml +197 -0
  372. data/lib/locales/en/music.yml +464 -0
  373. data/lib/locales/en/myst.yml +104 -0
  374. data/lib/locales/en/name.yml +26 -0
  375. data/lib/locales/en/naruto.yml +230 -0
  376. data/lib/locales/en/nation.yml +11 -0
  377. data/lib/locales/en/nato_phonetic_alphabet.yml +4 -0
  378. data/lib/locales/en/new_girl.yml +40 -0
  379. data/lib/locales/en/one_piece.yml +9 -0
  380. data/lib/locales/en/opera.yml +340 -0
  381. data/lib/locales/en/overwatch.yml +2652 -0
  382. data/lib/locales/en/parks_and_rec.yml +7 -0
  383. data/lib/locales/en/pearl_jam.yml +213 -0
  384. data/lib/locales/en/phish.yml +395 -0
  385. data/lib/locales/en/phone_number.yml +7 -0
  386. data/lib/locales/en/pokemon.yml +421 -0
  387. data/lib/locales/en/prince.yml +227 -0
  388. data/lib/locales/en/princess_bride.yml +5 -0
  389. data/lib/locales/en/programming_language.yml +6 -0
  390. data/lib/locales/en/quote.yml +695 -0
  391. data/lib/locales/en/rajnikanth.yml +77 -0
  392. data/lib/locales/en/relationship.yml +10 -0
  393. data/lib/locales/en/restaurant.yml +129 -0
  394. data/lib/locales/en/rick_and_morty.yml +6 -0
  395. data/lib/locales/en/rock_band.yml +5 -0
  396. data/lib/locales/en/room.yml +68 -0
  397. data/lib/locales/en/rupaul.yml +125 -0
  398. data/lib/locales/en/rush.yml +32 -0
  399. data/lib/locales/en/science.yml +484 -0
  400. data/lib/locales/en/seinfeld.yml +6 -0
  401. data/lib/locales/en/shakespeare.yml +53 -0
  402. data/lib/locales/en/show.yml +597 -0
  403. data/lib/locales/en/silicon_valley.yml +53 -0
  404. data/lib/locales/en/simpsons.yml +694 -0
  405. data/lib/locales/en/slack_emoji.yml +20 -0
  406. data/lib/locales/en/sonic_the_hedgehog.yml +410 -0
  407. data/lib/locales/en/source.yml +51 -0
  408. data/lib/locales/en/south_park.yml +5 -0
  409. data/lib/locales/en/space.yml +17 -0
  410. data/lib/locales/en/spongebob.yml +489 -0
  411. data/lib/locales/en/sport.yml +130 -0
  412. data/lib/locales/en/star_trek.yml +7 -0
  413. data/lib/locales/en/star_wars.yml +606 -0
  414. data/lib/locales/en/stargate.yml +21 -0
  415. data/lib/locales/en/stranger_thing.yml +36 -0
  416. data/lib/locales/en/street_fighter.yml +1524 -0
  417. data/lib/locales/en/stripe.yml +42 -0
  418. data/lib/locales/en/studio_ghibli.yml +107 -0
  419. data/lib/locales/en/subscription.yml +8 -0
  420. data/lib/locales/en/suits.yml +45 -0
  421. data/lib/locales/en/super_mario.yml +58 -0
  422. data/lib/locales/en/super_smash_bros.yml +223 -0
  423. data/lib/locales/en/superhero.yml +12 -0
  424. data/lib/locales/en/supernatural.yml +141 -0
  425. data/lib/locales/en/sword_art_online.yml +334 -0
  426. data/lib/locales/en/tarkov.yml +593 -0
  427. data/lib/locales/en/tea.yml +172 -0
  428. data/lib/locales/en/team.yml +8 -0
  429. data/lib/locales/en/the_expanse.yml +7 -0
  430. data/lib/locales/en/the_it_crowd.yml +155 -0
  431. data/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
  432. data/lib/locales/en/the_office.yml +86 -0
  433. data/lib/locales/en/the_thick_of_it.yml +6 -0
  434. data/lib/locales/en/tolkien.yml +2453 -0
  435. data/lib/locales/en/touhou.yml +839 -0
  436. data/lib/locales/en/tron.yml +227 -0
  437. data/lib/locales/en/twin_peaks.yml +6 -0
  438. data/lib/locales/en/umphreys_mcgee.yml +4 -0
  439. data/lib/locales/en/university.yml +10 -0
  440. data/lib/locales/en/v_for_vendetta.yml +163 -0
  441. data/lib/locales/en/vehicle.yml +2814 -0
  442. data/lib/locales/en/venture_bros.yml +7 -0
  443. data/lib/locales/en/verbs.yml +8 -0
  444. data/lib/locales/en/volleyball.yml +501 -0
  445. data/lib/locales/en/warhammer_fantasy.yml +582 -0
  446. data/lib/locales/en/witcher.yml +430 -0
  447. data/lib/locales/en/world_cup.yml +271 -0
  448. data/lib/locales/en/world_of_warcraft.yml +126 -0
  449. data/lib/locales/en/yoda.yml +4 -0
  450. data/lib/locales/en/zelda.yml +966 -0
  451. data/lib/locales/en-AU.yml +67 -0
  452. data/lib/locales/{en-bork.yml → en-BORK.yml} +1 -1
  453. data/lib/locales/en-CA.yml +39 -0
  454. data/lib/locales/{en-gb.yml → en-GB.yml} +3 -3
  455. data/lib/locales/{en-ind.yml → en-IND.yml} +10 -4
  456. data/lib/locales/en-MS.yml +48 -0
  457. data/lib/locales/en-NEP.yml +52 -0
  458. data/lib/locales/en-NG.yml +77 -0
  459. data/lib/locales/en-NZ.yml +165 -0
  460. data/lib/locales/en-PAK.yml +19 -0
  461. data/lib/locales/en-SG.yml +36 -0
  462. data/lib/locales/en-TH.yml +360 -0
  463. data/lib/locales/en-UG.yml +128 -0
  464. data/lib/locales/en-US.yml +128 -0
  465. data/lib/locales/en-ZA.yml +147 -0
  466. data/lib/locales/en-au-ocker.yml +34 -0
  467. data/lib/locales/en.yml +6 -67
  468. data/lib/locales/es-AR.yml +4600 -0
  469. data/lib/locales/es-MX.yml +104 -0
  470. data/lib/locales/es.yml +149 -0
  471. data/lib/locales/fa.yml +12 -0
  472. data/lib/locales/fi-FI.yml +36 -0
  473. data/lib/locales/fr/address.yml +20 -0
  474. data/lib/locales/fr/adjective.yml +266 -0
  475. data/lib/locales/fr/ancient.yml +141 -0
  476. data/lib/locales/fr/animal.yml +5 -0
  477. data/lib/locales/fr/appliance.yml +4 -0
  478. data/lib/locales/fr/book.yml +7 -0
  479. data/lib/locales/fr/color.yml +4 -0
  480. data/lib/locales/fr/company.yml +17 -0
  481. data/lib/locales/fr/compass.yml +23 -0
  482. data/lib/locales/fr/demographic.yml +4 -0
  483. data/lib/locales/fr/gender.yml +6 -0
  484. data/lib/locales/fr/internet.yml +5 -0
  485. data/lib/locales/fr/lorem.yml +5 -0
  486. data/lib/locales/fr/measurement.yml +7 -0
  487. data/lib/locales/fr/name.yml +21 -0
  488. data/lib/locales/fr/phone_number.yml +7 -0
  489. data/lib/locales/fr/pokemon.yml +7 -0
  490. data/lib/locales/fr-CA.yml +106 -0
  491. data/lib/locales/fr-CH.yml +77 -0
  492. data/lib/locales/fr.yml +1 -51
  493. data/lib/locales/he.yml +27 -0
  494. data/lib/locales/hy.yml +411 -0
  495. data/lib/locales/id.yml +26 -0
  496. data/lib/locales/it.yml +71 -0
  497. data/lib/locales/ja/README.md +13 -0
  498. data/lib/locales/ja/address.yml +120539 -0
  499. data/lib/locales/ja/adjective.yml +148 -0
  500. data/lib/locales/ja/ancient.yml +4 -0
  501. data/lib/locales/ja/animal.yml +5 -0
  502. data/lib/locales/ja/bank.yml +4 -0
  503. data/lib/locales/ja/book.yml +7 -0
  504. data/lib/locales/ja/cat.yml +5 -0
  505. data/lib/locales/ja/coffee.yml +4 -0
  506. data/lib/locales/ja/color.yml +4 -0
  507. data/lib/locales/ja/commerce.yml +11 -0
  508. data/lib/locales/ja/company.yml +8 -0
  509. data/lib/locales/ja/dog.yml +6 -0
  510. data/lib/locales/ja/emotion.yml +51 -0
  511. data/lib/locales/ja/food.yml +4 -0
  512. data/lib/locales/ja/gender.yml +4 -0
  513. data/lib/locales/ja/lorem.yml +9 -0
  514. data/lib/locales/ja/name.yml +13 -0
  515. data/lib/locales/ja/naruto.yml +230 -0
  516. data/lib/locales/ja/overwatch.yml +5 -0
  517. data/lib/locales/ja/phone_number.yml +7 -0
  518. data/lib/locales/ja/pokemon.yml +7 -0
  519. data/lib/locales/ja/relationship.yml +10 -0
  520. data/lib/locales/ja/restaurant.yml +11 -0
  521. data/lib/locales/ja/space.yml +5 -0
  522. data/lib/locales/ja/studio_ghibli.yml +112 -0
  523. data/lib/locales/ja/subscription.yml +8 -0
  524. data/lib/locales/ja/super_mario.yml +9 -0
  525. data/lib/locales/ja/super_smash_bros.yml +8 -0
  526. data/lib/locales/ja/university.yml +9 -0
  527. data/lib/locales/ja/zelda.yml +5 -0
  528. data/lib/locales/ko.yml +132 -0
  529. data/lib/locales/lt.yml +34 -0
  530. data/lib/locales/lv.yml +55 -0
  531. data/lib/locales/mi-NZ.yml +281 -0
  532. data/lib/locales/{no-nb.yml → nb-NO.yml} +20 -8
  533. data/lib/locales/nl.yml +45 -30
  534. data/lib/locales/no.yml +7 -0
  535. data/lib/locales/pl.yml +20 -10
  536. data/lib/locales/pt-BR.yml +725 -0
  537. data/lib/locales/{pt-br.yml → pt.yml} +25 -15
  538. data/lib/locales/ru.yml +117 -0
  539. data/lib/locales/sk.yml +80 -0
  540. data/lib/locales/sv.yml +81 -0
  541. data/lib/locales/th.yml +380 -0
  542. data/lib/locales/tr.yml +40 -0
  543. data/lib/locales/uk.yml +88 -0
  544. data/lib/locales/vi.yml +8 -3
  545. data/lib/locales/zh-CN.yml +56 -0
  546. data/lib/locales/zh-TW.yml +29 -0
  547. metadata +731 -97
  548. data/History.txt +0 -103
  549. data/lib/extensions/array.rb +0 -7
  550. data/lib/extensions/symbol.rb +0 -9
  551. data/lib/faker/address.rb +0 -49
  552. data/lib/faker/company.rb +0 -26
  553. data/lib/faker/internet.rb +0 -71
  554. data/lib/faker/lorem.rb +0 -59
  555. data/lib/faker/name.rb +0 -22
  556. data/lib/faker/phone_number.rb +0 -17
  557. data/lib/locales/de-ch.yml +0 -19
  558. data/lib/locales/en-au.yml +0 -22
  559. data/lib/locales/en-ca.yml +0 -14
  560. data/lib/locales/en-us.yml +0 -6
  561. data/test/test_faker.rb +0 -29
  562. data/test/test_faker_city.rb +0 -45
  563. data/test/test_faker_internet.rb +0 -56
  564. data/test/test_faker_lorem.rb +0 -69
  565. data/test/test_faker_name.rb +0 -20
  566. data/test/test_faker_street.rb +0 -44
  567. data/test/test_flexible.rb +0 -56
  568. data/test/test_helper.rb +0 -5
  569. data/test/test_locale.rb +0 -41
data/README.md CHANGED
@@ -1,49 +1,489 @@
1
- Faker
2
- =====
3
- This gem is a port of Perl's Data::Faker library that generates fake data.
4
-
5
- It comes in very handy for taking screenshots (taking screenshots for my
6
- project, [Catch the Best](http://catchthebest.com/) was the original impetus
7
- for the creation of this gem), having real-looking test data, and having your
8
- database populated with more than one or two records while you're doing
9
- development.
10
-
11
- Installing
12
- ----------
13
- ```bash
14
- sudo gem install faker
15
- ```
16
-
17
- Usage
18
- -----
19
- * Faker::Name.name => "Christophe Bartell"
20
- * Faker::Internet.email => "kirsten.greenholt@corkeryfisher.info"
21
-
22
- Customization
23
- ------------
24
- Since you may want to make addresses and other types of data look different
25
- depending on where in the world you are (US postal codes vs. UK postal codes,
26
- for example), Faker uses the I18n gem to store strings (like state names) and
27
- formats (US postal codes are NNNNN while UK postal codes are AAN NAA),
28
- allowing you to get different formats by switching locales. Just set
29
- Faker::Config.locale to the locale you want, and Faker will take care of the
30
- rest.
31
-
32
- Contributing
33
- ------------
34
- If you'd like to contribute code or formats/data for another locale, fork
35
- the project at [github](https://github.com/stympy/faker), make your changes,
36
- then send a pull request.
37
-
38
- **note**
39
- Run `bundle install` and `rake test` to confirm tests are passing.
40
-
41
- Contact
42
- -------
43
- Comments and feedback are welcome. Send an email to Benjamin Curtis via the [google group](http://groups.google.com/group/ruby-faker).
44
-
45
- License
46
- -------
47
- This code is free to use under the terms of the MIT license.
1
+ ![logotype a happy-07](https://user-images.githubusercontent.com/36028424/40263395-4318481e-5b44-11e8-92e5-3dcc1ce169b3.png)
2
+
3
+ # Faker
4
+ [![Tests](https://github.com/faker-ruby/faker/workflows/Tests/badge.svg)](https://github.com/faker-ruby/faker/actions?query=workflow%3ATests)
5
+ [![Gem Version](https://badge.fury.io/rb/faker.svg)](https://badge.fury.io/rb/faker)
6
+ [![Inline docs](https://inch-ci.org/github/faker-ruby/faker.svg?branch=main)](https://inch-ci.org/github/faker-ruby/faker)
7
+ [![Test Coverage](https://api.codeclimate.com/v1/badges/ef54c7f9df86e965d64b/test_coverage)](https://codeclimate.com/github/stympy/faker/test_coverage)
8
+ [![Maintainability](https://api.codeclimate.com/v1/badges/ef54c7f9df86e965d64b/maintainability)](https://codeclimate.com/github/stympy/faker/maintainability)
9
+
10
+ Faker is a port of [Perl's Data::Faker library](https://metacpan.org/pod/Data::Faker).
11
+ It's a library for generating fake data such as names, addresses, and phone numbers.
12
+
13
+ Faker helps you generate realistic test data, and populate your
14
+ database with more than a couple of records while you're doing development.
15
+
16
+ It comes in very handy for taking screenshots (taking screenshots for a personal project)
17
+ and it was the original impetus for the creation of this gem).
18
+
19
+ ## Quick links
20
+
21
+ - 📖 **[Read the documentation for the latest version][rubydocs].**
22
+ - 📢 **[See what's changed in recent versions][changelog].**
23
+
24
+ [rubydocs]: https://www.rubydoc.info/gems/faker/
25
+ [changelog]: CHANGELOG.md
26
+
27
+ ## Table of Contents
28
+
29
+ - [Faker](#faker)
30
+ - [Notes](#notes)
31
+ - [Getting Started](#getting-started)
32
+ - [Usage](#usage)
33
+ - [Ensuring unique values](#ensuring-unique-values)
34
+ - [Deterministic Random](#deterministic-random)
35
+ - [Customization](#customization)
36
+ - [Generators](#generators)
37
+ - [Contributing](#contributing)
38
+ - [Versioning](#versioning)
39
+ - [License](#license)
40
+
41
+ ### Notes
42
+
43
+ * While Faker generates data at random, returned values are not guaranteed to be unique by default.
44
+ To explicitly specify when you require unique values, see [Ensuring Unique Values](#ensuring-unique-values).
45
+ Values also can be deterministic if you use the deterministic feature, see [Deterministic Random](#deterministic-random)
46
+ * This is the `main` branch of Faker and may contain changes that are not yet released.
47
+ Please refer to the README of your version for the available methods.
48
+ The list of all versions is [available here](https://github.com/stympy/faker/releases).
49
+
50
+ ## Getting Started
51
+
52
+ Start by including `faker` in your Gemfile:
53
+
54
+ ```ruby
55
+ gem 'faker'
56
+ ```
57
+
58
+ Then run `bundle install`.
59
+
60
+ ## Usage
61
+
62
+ Here are some examples of how to use Faker:
63
+
64
+ ```ruby
65
+ require 'faker'
66
+
67
+ Faker::Name.name #=> "Christophe Bartell"
68
+
69
+ Faker::Address.full_address #=> "5479 William Way, East Sonnyhaven, LA 63637"
70
+
71
+ Faker::Markdown.emphasis #=> "Quo qui aperiam. Amet corrupti distinctio. Sit quia *dolor.*"
72
+
73
+ Faker::TvShows::RuPaul.queen #=> "Violet Chachki"
74
+
75
+ Faker::Alphanumeric.alpha(number: 10) #=> "zlvubkrwga"
76
+
77
+ Faker::ProgrammingLanguage.name #=> "Ruby"
78
+ ```
79
+
80
+ For a complete list of the generators, see [Generators](#generators).
81
+
82
+ #### A note about the Generators versions
83
+
84
+ If you get a `uninitialized constant Faker::[some_class]` error, your version of
85
+ the gem is behind main.
86
+
87
+ To make sure that your gem is the one
88
+ documented here, change the line in your Gemfile to:
89
+
90
+ ```ruby
91
+ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'main'
92
+ ```
93
+
94
+ The generators have the `@faker.version` tag on top of their implementation.
95
+ From the tags, you can identify the version the generator was added:
96
+
97
+ ```ruby
98
+ # Faker::TvShows::ParksAndRec.character
99
+
100
+ # @faker.version 1.9.0
101
+ def character
102
+ fetch('parks_and_rec.characters')
103
+ end
104
+ ```
105
+
106
+ ### Ensuring unique values
107
+
108
+ To ensure Faker generates unique values, prefix your method call with `unique`:
48
109
 
110
+ ```ruby
111
+ Faker::Name.unique.name # This will return a unique name every time it is called
112
+ ```
113
+
114
+ If too many unique values are requested from a generator that has a limited
115
+ number of potential values, a `Faker::UniqueGenerator::RetryLimitExceeded`
116
+ exception may be raised. It is possible to clear the record of unique values
117
+ that have been returned, for example between tests.
118
+
119
+ ```ruby
120
+ Faker::Name.unique.clear # Clears used values for Faker::Name
121
+ Faker::UniqueGenerator.clear # Clears used values for all generators
122
+ ```
123
+
124
+ You also can give some already used values to the unique generator if you have
125
+ collisions with the generated data (i.e: using FactoryBot with random and
126
+ manually set values).
127
+
128
+ ```ruby
129
+ # Usage:
130
+ # Faker::<generator>.unique.exclude(method, arguments, list)
131
+
132
+ # Add 'azerty' and 'wxcvbn' to the string generator with 6 char length
133
+ Faker::Lorem.unique.exclude :string, [number: 6], %w[azerty wxcvbn]
134
+ ```
135
+
136
+ ### Deterministic Random
137
+
138
+ Faker supports seeding of its pseudo-random number generator (PRNG)
139
+ to provide deterministic output of repeated method calls.
140
+
141
+ ```ruby
142
+ Faker::Config.random = Random.new(42)
143
+ Faker::Company.bs #=> "seize collaborative mindshare"
144
+ Faker::Company.bs #=> "engage strategic platforms"
145
+ Faker::Config.random = Random.new(42)
146
+ Faker::Company.bs #=> "seize collaborative mindshare"
147
+ Faker::Company.bs #=> "engage strategic platforms"
148
+
149
+ Faker::Config.random = nil # seeds the PRNG using default entropy sources
150
+ Faker::Config.random.seed #=> 185180369676275068918401850258677722187
151
+ Faker::Company.bs #=> "cultivate viral synergies"
152
+ ```
49
153
 
154
+ ### Customization
155
+
156
+ You may want Faker to print information depending on your location in the world.
157
+ To assist you in this, Faker uses the `I18n` gem to store strings and formats to
158
+ represent the names and postal codes of the area of your choosing.
159
+
160
+ Just set the locale you want as shown below, and Faker will take care of the rest.
161
+
162
+ ```ruby
163
+ Faker::Config.locale = 'es'
164
+ # or
165
+ Faker::Config.locale = :es
166
+ ```
167
+
168
+ Note: Overriding the default locale might not be thread-safe. See [Locale setting can be ignored #2563](https://github.com/faker-ruby/faker/issues/2563) for more details.
169
+
170
+ To override Faker's locales,
171
+ check out the [locales README](lib/locales/README.md).
172
+
173
+ ### Minitest and Faker >= 2.22
174
+
175
+ To prevent Faker (version >= 2.22) from generating duplicate values when using Minitest,
176
+ you might need to add the following to the `test_helper.rb` or `rails_helper.rb` file:
177
+
178
+ ```ruby
179
+ Faker::Config.random = Random.new
180
+ ```
181
+
182
+ See [Issue #2534](https://github.com/faker-ruby/faker/issues/2534) for more details.
183
+
184
+ ## Generators
185
+
186
+ This is the full list of generators available with this gem. If you need details about any of them, make sure to consult the documentation.
187
+
188
+ **NOTE: Some of the generators below aren't released yet. If you want to use them, change the line in your gemfile to:**
189
+
190
+ ```ruby
191
+ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'main'
192
+ ```
193
+
194
+ <details>
195
+ <summary>Default</summary>
196
+
197
+ - [Faker::Address](doc/default/address.md)
198
+ - [Faker::Alphanumeric](doc/default/alphanumeric.md)
199
+ - [Faker::Ancient](doc/default/ancient.md)
200
+ - [Faker::App](doc/default/app.md)
201
+ - [Faker::Appliance](doc/default/appliance.md)
202
+ - [Faker::Artist](doc/default/artist.md)
203
+ - [Faker::Avatar](doc/default/avatar.md)
204
+ - [Faker::Bank](doc/default/bank.md)
205
+ - [Faker::Barcode](doc/default/barcode.md)
206
+ - [Faker::Beer](doc/default/beer.md)
207
+ - [Faker::Blood](doc/default/blood.md)
208
+ - [Faker::Boolean](doc/default/boolean.md)
209
+ - [Faker::BossaNova](doc/default/bossa_nova.md)
210
+ - [Faker::Business](doc/default/business.md)
211
+ - [Faker::Camera](doc/default/camera.md)
212
+ - [Faker::Cannabis](doc/default/cannabis.md)
213
+ - [Faker::ChileRut](doc/default/chile_rut.md)
214
+ - [Faker::ChuckNorris](doc/default/chuck_norris.md)
215
+ - [Faker::Code](doc/default/code.md)
216
+ - [Faker::Coffee](doc/default/coffee.md)
217
+ - [Faker::Coin](doc/default/coin.md)
218
+ - [Faker::Color](doc/default/color.md)
219
+ - [Faker::Commerce](doc/default/commerce.md)
220
+ - [Faker::Company](doc/default/company.md)
221
+ - [Faker::Compass](doc/default/compass.md)
222
+ - [Faker::Computer](doc/default/computer.md)
223
+ - [Faker::Construction](doc/default/construction.md)
224
+ - [Faker::Cosmere](doc/default/cosmere.md)
225
+ - [Faker::Crypto](doc/default/crypto.md)
226
+ - [Faker::CryptoCoin](doc/default/crypto_coin.md)
227
+ - [Faker::Currency](doc/default/currency.md)
228
+ - [Faker::Date](doc/default/date.md)
229
+ - [Faker::DcComics](doc/default/dc_comics.md)
230
+ - [Faker::Demographic](doc/default/demographic.md)
231
+ - [Faker::Dessert](doc/default/dessert.md)
232
+ - [Faker::Device](doc/default/device.md)
233
+ - [Faker::DrivingLicence](doc/default/driving_licence.md)
234
+ - [Faker::Drone](doc/drone/drone.md)
235
+ - [Faker::Educator](doc/default/educator.md)
236
+ - [Faker::ElectricalComponents](doc/default/electrical_components.md)
237
+ - [Faker::Emotion](doc/default/emotion.md)
238
+ - [Faker::Esport](doc/default/esport.md)
239
+ - [Faker::File](doc/default/file.md)
240
+ - [Faker::Fillmurray](doc/default/fillmurray.md)
241
+ - [Faker::Finance](doc/default/finance.md)
242
+ - [Faker::Food](doc/default/food.md)
243
+ - [Faker::FunnyName](doc/default/funny_name.md)
244
+ - [Faker::Gender](doc/default/gender.md)
245
+ - [Faker::GreekPhilosophers](doc/default/greek_philosophers.md)
246
+ - [Faker::Hacker](doc/default/hacker.md)
247
+ - [Faker::Hipster](doc/default/hipster.md)
248
+ - [Faker::Hobby](doc/default/hobby.md)
249
+ - [Faker::House](doc/default/house.md)
250
+ - [Faker::IDNumber](doc/default/id_number.md)
251
+ - [Faker::IndustrySegments](doc/default/industry_segments.md)
252
+ - [Faker::Internet](doc/default/internet.md)
253
+ - [Faker::Invoice](doc/default/invoice.md)
254
+ - [Faker::Job](doc/default/job.md)
255
+ - [Faker::Json](doc/default/json.md)
256
+ - [Faker::Kpop](doc/default/kpop.md)
257
+ - [Faker::Lorem](doc/default/lorem.md)
258
+ - [Faker::LoremFlickr](doc/default/lorem_flickr.md)
259
+ - [Faker::Markdown](doc/default/markdown.md)
260
+ - [Faker::Marketing](doc/default/marketing.md)
261
+ - [Faker::Measurement](doc/default/measurement.md)
262
+ - [Faker::Military](doc/default/military.md)
263
+ - [Faker::Mountain](doc/default/mountain.md)
264
+ - [Faker::Name](doc/default/name.md)
265
+ - [Faker::Nation](doc/default/nation.md)
266
+ - [Faker::NatoPhoneticAlphabet](doc/default/nato_phonetic_alphabet.md)
267
+ - [Faker::NationalHealthService](doc/default/national_health_service.md)
268
+ - [Faker::Number](doc/default/number.md)
269
+ - [Faker::Omniauth](doc/default/omniauth.md)
270
+ - [Faker::PhoneNumber](doc/default/phone_number.md)
271
+ - [Faker::Placeholdit](doc/default/placeholdit.md)
272
+ - [Faker::ProgrammingLanguage](doc/default/programming_language.md)
273
+ - [Faker::Relationship](doc/default/relationship.md)
274
+ - [Faker::Restaurant](doc/default/restaurant.md)
275
+ - [Faker::Science](doc/default/science.md)
276
+ - [Faker::SlackEmoji](doc/default/slack_emoji.md)
277
+ - [Faker::Source](doc/default/source.md)
278
+ - [Faker::SouthAfrica](doc/default/south_africa.md)
279
+ - [Faker::Space](doc/default/space.md)
280
+ - [Faker::String](doc/default/string.md)
281
+ - [Faker::Stripe](doc/default/stripe.md)
282
+ - [Faker::Subscription](doc/default/subscription.md)
283
+ - [Faker::Superhero](doc/default/superhero.md)
284
+ - [Faker::Tea](doc/default/tea.md)
285
+ - [Faker::Team](doc/default/team.md)
286
+ - [Faker::Time](doc/default/time.md)
287
+ - [Faker::Twitter](doc/default/twitter.md)
288
+ - [Faker::Types](doc/default/types.md)
289
+ - [Faker::University](doc/default/university.md)
290
+ - [Faker::Vehicle](doc/default/vehicle.md)
291
+ - [Faker::Verbs](doc/default/verbs.md)
292
+ - [Faker::VulnerabilityIdentifier](doc/default/vulnerability_identifier.md)
293
+ - [Faker::WorldCup](doc/default/world_cup.md)
294
+ </details>
295
+
296
+ <details>
297
+ <summary>Blockchain</summary>
298
+
299
+ - [Faker::Blockchain::Aeternity](doc/blockchain/aeternity.md)
300
+ - [Faker::Blockchain::Bitcoin](doc/blockchain/bitcoin.md)
301
+ - [Faker::Blockchain::Ethereum](doc/blockchain/ethereum.md)
302
+ - [Faker::Blockchain::Tezos](doc/blockchain/tezos.md)
303
+ </details>
304
+
305
+ <details>
306
+ <summary>Books</summary>
307
+
308
+ - [Faker::Book](doc/books/book.md)
309
+ - [Faker::Books::CultureSeries](doc/books/culture_series.md)
310
+ - [Faker::Books::Dune](doc/books/dune.md)
311
+ - [Faker::Books::Lovecraft](doc/books/lovecraft.md)
312
+ - [Faker::Books::TheKingkillerChronicle](doc/books/the_kingkiller_chronicle.md)
313
+ </details>
314
+
315
+ <details>
316
+ <summary>Fantasy</summary>
317
+
318
+ - [Faker::Fantasy::Tolkien](doc/fantasy/tolkien.md)
319
+ </details>
320
+
321
+ <details>
322
+ <summary>Creature</summary>
323
+
324
+ ### Travel
325
+ - [Faker:Travel::Airport](doc/travel/airport.md)
326
+
327
+ - [Faker::Creature::Animal](doc/creature/animal.md)
328
+ - [Faker::Creature::Bird](doc/creature/bird.md)
329
+ - [Faker::Creature::Cat](doc/creature/cat.md)
330
+ - [Faker::Creature::Dog](doc/creature/dog.md)
331
+ - [Faker::Creature::Horse](doc/creature/horse.md)
332
+ </details>
333
+
334
+ <details>
335
+ <summary>Games</summary>
336
+
337
+ - [Faker::Game](doc/games/game.md)
338
+ - [Faker::Games::ClashOfClans](doc/games/clash_of_clans.md)
339
+ - [Faker::Games::DnD](doc/games/dnd.md)
340
+ - [Faker::Games::Dota](doc/games/dota.md)
341
+ - [Faker::Games::ElderScrolls](doc/games/elder_scrolls.md)
342
+ - [Faker::Games::Fallout](doc/games/fallout.md)
343
+ - [Faker::Games::HalfLife](doc/games/half_life.md)
344
+ - [Faker::Games::Heroes](doc/games/heroes.md)
345
+ - [Faker::Games::HeroesOfTheStorm](doc/games/heroes_of_the_storm.md)
346
+ - [Faker::Games::LeagueOfLegends](doc/games/league_of_legends.md)
347
+ - [Faker::Games::Minecraft](doc/games/minecraft.md)
348
+ - [Faker::Games::Myst](doc/games/myst.md)
349
+ - [Faker::Games::Overwatch](doc/games/overwatch.md)
350
+ - [Faker::Games::Pokemon](doc/games/pokemon.md)
351
+ - [Faker::Games::SonicTheHedgehog](doc/games/sonic_the_hedgehog.md)
352
+ - [Faker::Games::StreetFighter](doc/games/street_fighter.md)
353
+ - [Faker::Games::SuperMario](doc/games/super_mario.md)
354
+ - [Faker::Games::SuperSmashBros](doc/games/super_smash_bros.md)
355
+ - [Faker::Games::Touhou](doc/games/touhou.md)
356
+ - [Faker::Games::WarhammerFantasy](doc/games/warhammer_fantasy.md)
357
+ - [Faker::Games::Witcher](doc/games/witcher.md)
358
+ - [Faker::Games::WorldOfWarcraft](doc/games/world_of_warcraft.md)
359
+ - [Faker::Games::Zelda](doc/games/zelda.md)
360
+ </details>
361
+
362
+ <details>
363
+ <summary>Japanese Media</summary>
364
+
365
+ - [Faker::JapaneseMedia::CowboyBebop](doc/japanese_media/cowboy_bebop.md)
366
+ - [Faker::JapaneseMedia::DragonBall](doc/japanese_media/dragon_ball.md)
367
+ - [Faker::JapaneseMedia::OnePiece](doc/japanese_media/one_piece.md)
368
+ - [Faker::JapaneseMedia::StudioGhibli](doc/japanese_media/studio_ghibli.md)
369
+ - [Faker::JapaneseMedia::SwordArtOnline](doc/japanese_media/sword_art_online.md)
370
+ - [Faker::JapaneseMedia::Naruto](doc/japanese_media/naruto.md)
371
+ - [Faker::JapaneseMedia::Doraemon](doc/japanese_media/doraemon.md)
372
+ - [Faker::JapaneseMedia::Conan](doc/japanese_media/conan.md)
373
+ - [Faker::JapaneseMedia::FmaBrotherhood](doc/japanese_media/fullmetal_alchemist_brotherhood.md)
374
+ </details>
375
+
376
+ <details>
377
+ <summary>Movies</summary>
378
+
379
+ - [Faker::Movie](doc/movies/movie.md)
380
+ - [Faker::Movies::BackToTheFuture](doc/movies/back_to_the_future.md)
381
+ - [Faker::Movies::Departed](doc/movies/departed.md)
382
+ - [Faker::Movies::Ghostbusters](doc/movies/ghostbusters.md)
383
+ - [Faker::Movies::HarryPotter](doc/movies/harry_potter.md)
384
+ - [Faker::Movies::HitchhikersGuideToTheGalaxy](doc/movies/hitchhikers_guide_to_the_galaxy.md)
385
+ - [Faker::Movies::Hobbit](doc/movies/hobbit.md)
386
+ - [Faker::Movies::HowToTrainYourDragon](doc/movies/how_to_train_your_dragon.md)
387
+ - [Faker::Movies::Lebowski](doc/movies/lebowski.md)
388
+ - [Faker::Movies::LordOfTheRings](doc/movies/lord_of_the_rings.md)
389
+ - [Faker::Movies::PrincessBride](doc/movies/princess_bride.md)
390
+ - [Faker::Movies::StarWars](doc/movies/star_wars.md)
391
+ - [Faker::Movies::TRON](doc/movies/tron.md)
392
+ - [Faker::Movies::VForVendetta](doc/movies/v_for_vendetta.md)
393
+ </details>
394
+
395
+ <details>
396
+ <summary>Music</summary>
397
+
398
+ - [Faker::Music](doc/music/music.md)
399
+ - [Faker::Music::GratefulDead](doc/music/grateful_dead.md)
400
+ - [Faker::Music::Hiphop](doc/music/hiphop.md)
401
+ - [Faker::Music::Opera](doc/music/opera.md)
402
+ - [Faker::Music::PearlJam](doc/music/pearl_jam.md)
403
+ - [Faker::Music::Phish](doc/music/phish.md)
404
+ - [Faker::Music::Prince](doc/music/prince.md)
405
+ - [Faker::Music::RockBand](doc/music/rock_band.md)
406
+ - [Faker::Music::Rush](doc/music/rush.md)
407
+ - [Faker::Music::UmphreysMcgee](doc/music/umphreys_mcgee.md)
408
+ </details>
409
+
410
+ <details>
411
+ <summary>Quotes</summary>
412
+
413
+ - [Faker::Quote](doc/quotes/quote.md)
414
+ - [Faker::Quotes::Chiquito](doc/quotes/chiquito.md)
415
+ - [Faker::Quotes::Rajnikanth](doc/quotes/rajnikanth.md)
416
+ - [Faker::Quotes::Shakespeare](doc/quotes/shakespeare.md)
417
+ </details>
418
+
419
+ <details>
420
+ <summary>Sports</summary>
421
+
422
+ - [Faker::Sports](doc/sports/sports.md)
423
+ - [Faker::Sports::Basketball](doc/sports/basketball.md)
424
+ - [Faker::Sports::Football](doc/sports/football.md)
425
+ - [Faker::Sports::Mountaineering](doc/sports/mountaineering.md)
426
+ - [Faker::Sports::Volleyball](doc/sports/volleyball.md)
427
+ </details>
428
+
429
+ <details>
430
+ <summary>Tv Shows</summary>
431
+
432
+ - [Faker::TvShows::AquaTeenHungerForce](doc/tv_shows/aqua_teen_hunger_force.md)
433
+ - [Faker::TvShows::BigBangTheory](doc/tv_shows/big_bang_theory.md)
434
+ - [Faker::TvShows::BojackHorseman](doc/tv_shows/bojack_horseman.md)
435
+ - [Faker::TvShows::BreakingBad](doc/tv_shows/breaking_bad.md)
436
+ - [Faker::TvShows::BrooklynNineNine](doc/tv_shows/brooklyn_nine_nine.md)
437
+ - [Faker::TvShows::Buffy](doc/tv_shows/buffy.md)
438
+ - [Faker::TvShows::Community](doc/tv_shows/community.md)
439
+ - [Faker::TvShows::DrWho](doc/tv_shows/dr_who.md)
440
+ - [Faker::TvShows::DumbAndDumber](doc/tv_shows/dumb_and_dumber.md)
441
+ - [Faker::TvShows::FamilyGuy](doc/tv_shows/family_guy.md)
442
+ - [Faker::TvShows::FinalSpace](doc/tv_shows/final_space.md)
443
+ - [Faker::TvShows::Friends](doc/tv_shows/friends.md)
444
+ - [Faker::TvShows::GameOfThrones](doc/tv_shows/game_of_thrones.md)
445
+ - [Faker::TvShows::HeyArnold](doc/tv_shows/hey_arnold.md)
446
+ - [Faker::TvShows::HowIMetYourMother](doc/tv_shows/how_i_met_your_mother.md)
447
+ - [Faker::TvShows::MichaelScott](doc/tv_shows/michael_scott.md)
448
+ - [Faker::TvShows::NewGirl](doc/tv_shows/new_girl.md)
449
+ - [Faker::TvShows::ParksAndRec](doc/tv_shows/parks_and_rec.md)
450
+ - [Faker::TvShows::RickAndMorty](doc/tv_shows/rick_and_morty.md)
451
+ - [Faker::TvShows::RuPaul](doc/tv_shows/rupaul.md)
452
+ - [Faker::TvShows::Seinfeld](doc/tv_shows/seinfeld.md)
453
+ - [Faker::TvShows::SiliconValley](doc/tv_shows/silicon_valley.md)
454
+ - [Faker::TvShows::Simpsons](doc/tv_shows/simpsons.md)
455
+ - [Faker::TvShows::SouthPark](doc/tv_shows/south_park.md)
456
+ - [Faker::TvShows::Spongebob](doc/tv_shows/spongebob.md)
457
+ - [Faker::TvShows::StarTrek](doc/tv_shows/star_trek.md)
458
+ - [Faker::TvShows::Stargate](doc/tv_shows/stargate.md)
459
+ - [Faker::TvShows::StrangerThings](doc/tv_shows/stranger_things.md)
460
+ - [Faker::TvShows::Suits](doc/tv_shows/suits.md)
461
+ - [Faker::TvShows::Supernatural](doc/tv_shows/supernatural.md)
462
+ - [Faker::TvShows::TheExpanse](doc/tv_shows/the_expanse.md)
463
+ - [Faker::TvShows::TheFreshPrinceOfBelAir](doc/tv_shows/the_fresh_prince_of_bel_air.md)
464
+ - [Faker::TvShows::TheITCrowd](doc/tv_shows/the_it_crowd.md)
465
+ - [Faker::TvShows::TheThickOfIt](doc/tv_shows/the_thick_of_it.md)
466
+ - [Faker::TvShows::TwinPeaks](doc/tv_shows/twin_peaks.md)
467
+ - [Faker::TvShows::VentureBros](doc/tv_shows/venture_bros.md)
468
+ </details>
469
+
470
+ ## Contributing
471
+
472
+ If you have problems, please create a [GitHub Issue](/.github/ISSUE_TEMPLATE/bug-report.md).
473
+
474
+ Take a look at the [Contributing](CONTRIBUTING.md) document for
475
+ instructions on setting up the repo on your machine, understanding the codebase,
476
+ and creating a good pull request.
477
+
478
+ There is a [Discord channel](https://discord.gg/RMumTwB) to discuss anything
479
+ regarding improvements or feature requests.
480
+
481
+ Thank you, contributors!
482
+
483
+ ## Versioning
484
+
485
+ Faker follows Semantic Versioning 2.0 as defined at https://semver.org.
486
+
487
+ ## License
488
+
489
+ This code is free to use under the terms of the MIT license.
data/bin/faker ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ lib_path = File.expand_path('../lib', __dir__)
5
+ $LOAD_PATH.unshift(lib_path) unless $LOAD_PATH.include?(lib_path)
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Blockchain
5
+ class Aeternity < Base
6
+ class << self
7
+ ##
8
+ # Produces a random Aeternity wallet address
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Blockchain::Aeternity.address
14
+ # #=> "ak_zvU8YQLagjcfng7Tg8yCdiZ1rpiWNp1PBn3vtUs44utSvbJVR"
15
+ #
16
+ def address
17
+ "ak_#{rand_strings}"
18
+ end
19
+
20
+ ##
21
+ # Produces a random Aeternity transaction
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Blockchain::Aeternity.transaction
27
+ # #=> "th_147nDP22h3pHrLt2qykTH4txUwQh1ccaXp"
28
+ #
29
+ def transaction
30
+ "th_#{rand_strings(51)}"
31
+ end
32
+
33
+ ##
34
+ # Produces a random Aeternity contract
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Blockchain::Aeternity.contract
40
+ # #=> "ct_Hk2JsNeWGEYQEHHQCfcBeGrwbhtYSwFTPdDhW2SvjFYVojyhW"
41
+ #
42
+ def contract
43
+ "ct_#{rand_strings}"
44
+ end
45
+
46
+ ##
47
+ # Produces a random Aeternity oracle
48
+ #
49
+ # @return [String]
50
+ #
51
+ # @example
52
+ # Faker::Blockchain::Aeternity.oracle
53
+ # #=> "ok_28QDg7fkF5qiKueSdUvUBtCYPJdmMEoS73CztzXCRAwMGKHKZh"
54
+ #
55
+ def oracle
56
+ "ok_#{rand_strings(51)}"
57
+ end
58
+
59
+ protected
60
+
61
+ def rand_strings(length = 50)
62
+ hex_alphabet = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
63
+ var = +''
64
+ length.times { var << sample(shuffle(hex_alphabet.chars)) }
65
+ var
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'openssl'
4
+ require 'securerandom'
5
+
6
+ module Faker
7
+ class Blockchain
8
+ class Bitcoin < Base
9
+ class << self
10
+ # @private
11
+ PROTOCOL_VERSIONS = {
12
+ main: 0,
13
+ testnet: 111
14
+ }.freeze
15
+
16
+ ##
17
+ # Produces a Bitcoin wallet address
18
+ #
19
+ # @return [String]
20
+ #
21
+ # @example
22
+ # Faker::Blockchain::Bitcoin.address
23
+ # #=> "147nDP22h3pHrLt2qykTH4txUwQh1ccaXp"
24
+ #
25
+ # @faker.version 1.9.2
26
+ def address
27
+ address_for(:main)
28
+ end
29
+
30
+ ##
31
+ # Produces a Bitcoin testnet address
32
+ #
33
+ # @return [String]
34
+ #
35
+ # @example
36
+ # Faker::Blockchain::Bitcoin.testnet_address
37
+ # #=> "n4YjRyYD6V6zREpk6opqESDqD3KYnMdVEB"
38
+ #
39
+ # @faker.version 1.9.2
40
+ def testnet_address
41
+ address_for(:testnet)
42
+ end
43
+
44
+ protected
45
+
46
+ ##
47
+ # Generates a random Bitcoin address for the given network
48
+ #
49
+ # @param network [Symbol] The name of network protocol to generate an address for
50
+ # @return [String] A Bitcoin address
51
+ def address_for(network)
52
+ version = PROTOCOL_VERSIONS.fetch(network)
53
+ packed = version.chr + Faker::Config.random.bytes(20)
54
+ checksum = OpenSSL::Digest::SHA256.digest(OpenSSL::Digest::SHA256.digest(packed))[0..3]
55
+ Faker::Base58.encode(packed + checksum)
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end