faker 1.1.2 → 3.2.0

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