faker 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (386) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +1417 -0
  3. data/History.md +176 -0
  4. data/License.txt +20 -0
  5. data/README.md +367 -0
  6. data/bin/faker +5 -0
  7. data/lib/faker.rb +308 -0
  8. data/lib/faker/blockchain/aeternity.rb +70 -0
  9. data/lib/faker/blockchain/bitcoin.rb +60 -0
  10. data/lib/faker/blockchain/ethereum.rb +26 -0
  11. data/lib/faker/blockchain/tezos.rb +107 -0
  12. data/lib/faker/books/book.rb +61 -0
  13. data/lib/faker/books/culture_series.rb +83 -0
  14. data/lib/faker/books/dune.rb +119 -0
  15. data/lib/faker/books/lovecraft.rb +276 -0
  16. data/lib/faker/creature/animal.rb +22 -0
  17. data/lib/faker/creature/cat.rb +50 -0
  18. data/lib/faker/creature/dog.rb +115 -0
  19. data/lib/faker/creature/horse.rb +37 -0
  20. data/lib/faker/default/address.rb +123 -0
  21. data/lib/faker/default/alphanumeric.rb +73 -0
  22. data/lib/faker/default/ancient.rb +23 -0
  23. data/lib/faker/default/app.rb +77 -0
  24. data/lib/faker/default/appliance.rb +33 -0
  25. data/lib/faker/default/artist.rb +20 -0
  26. data/lib/faker/default/avatar.rb +60 -0
  27. data/lib/faker/default/bank.rb +108 -0
  28. data/lib/faker/default/beer.rb +41 -0
  29. data/lib/faker/default/boolean.rb +26 -0
  30. data/lib/faker/default/bossa_nova.rb +15 -0
  31. data/lib/faker/default/business.rb +23 -0
  32. data/lib/faker/default/cannabis.rb +45 -0
  33. data/lib/faker/default/chile_rut.rb +54 -0
  34. data/lib/faker/default/chuck_norris.rb +14 -0
  35. data/lib/faker/default/code.rb +201 -0
  36. data/lib/faker/default/coffee.rb +37 -0
  37. data/lib/faker/default/coin.rb +15 -0
  38. data/lib/faker/default/color.rb +32 -0
  39. data/lib/faker/default/commerce.rb +80 -0
  40. data/lib/faker/default/company.rb +264 -0
  41. data/lib/faker/default/compass.rb +67 -0
  42. data/lib/faker/default/construction.rb +29 -0
  43. data/lib/faker/default/cosmere.rb +48 -0
  44. data/lib/faker/default/crypto.rb +21 -0
  45. data/lib/faker/default/crypto_coin.rb +49 -0
  46. data/lib/faker/default/currency.rb +19 -0
  47. data/lib/faker/default/date.rb +182 -0
  48. data/lib/faker/default/dc_comics.rb +25 -0
  49. data/lib/faker/default/demographic.rb +41 -0
  50. data/lib/faker/default/dessert.rb +48 -0
  51. data/lib/faker/default/device.rb +85 -0
  52. data/lib/faker/default/driving_licence.rb +65 -0
  53. data/lib/faker/default/educator.rb +35 -0
  54. data/lib/faker/default/electrical_components.rb +48 -0
  55. data/lib/faker/default/esport.rb +27 -0
  56. data/lib/faker/default/file.rb +49 -0
  57. data/lib/faker/default/fillmurray.rb +23 -0
  58. data/lib/faker/default/finance.rb +44 -0
  59. data/lib/faker/default/food.rb +49 -0
  60. data/lib/faker/default/funny_name.rb +45 -0
  61. data/lib/faker/default/gender.rb +33 -0
  62. data/lib/faker/default/greek_philosophers.rb +33 -0
  63. data/lib/faker/default/hacker.rb +103 -0
  64. data/lib/faker/default/hipster.rb +97 -0
  65. data/lib/faker/default/house.rb +33 -0
  66. data/lib/faker/default/id_number.rb +193 -0
  67. data/lib/faker/default/industry_segments.rb +61 -0
  68. data/lib/faker/default/internet.rb +291 -0
  69. data/lib/faker/default/invoice.rb +109 -0
  70. data/lib/faker/default/job.rb +25 -0
  71. data/lib/faker/default/json.rb +87 -0
  72. data/lib/faker/default/kpop.rb +31 -0
  73. data/lib/faker/default/lorem.rb +151 -0
  74. data/lib/faker/default/lorem_flickr.rb +78 -0
  75. data/lib/faker/default/lorem_pixel.rb +47 -0
  76. data/lib/faker/default/markdown.rb +84 -0
  77. data/lib/faker/default/marketing.rb +22 -0
  78. data/lib/faker/default/measurement.rb +116 -0
  79. data/lib/faker/default/military.rb +72 -0
  80. data/lib/faker/default/name.rb +58 -0
  81. data/lib/faker/default/nation.rb +76 -0
  82. data/lib/faker/default/nato_phonetic_alphabet.rb +20 -0
  83. data/lib/faker/default/nhs.rb +38 -0
  84. data/lib/faker/default/number.rb +274 -0
  85. data/lib/faker/default/omniauth.rb +413 -0
  86. data/lib/faker/default/phone_number.rb +54 -0
  87. data/lib/faker/default/placeholdit.rb +41 -0
  88. data/lib/faker/default/programming_language.rb +33 -0
  89. data/lib/faker/default/relationship.rb +46 -0
  90. data/lib/faker/default/restaurant.rb +63 -0
  91. data/lib/faker/default/science.rb +46 -0
  92. data/lib/faker/default/slack_emoji.rb +43 -0
  93. data/lib/faker/default/source.rb +76 -0
  94. data/lib/faker/default/south_africa.rb +51 -0
  95. data/lib/faker/default/space.rb +64 -0
  96. data/lib/faker/default/string.rb +49 -0
  97. data/lib/faker/default/stripe.rb +81 -0
  98. data/lib/faker/default/subscription.rb +70 -0
  99. data/lib/faker/default/superhero.rb +72 -0
  100. data/lib/faker/default/team.rb +29 -0
  101. data/lib/faker/default/time.rb +179 -0
  102. data/lib/faker/default/twitter.rb +188 -0
  103. data/lib/faker/default/types.rb +101 -0
  104. data/lib/faker/default/university.rb +30 -0
  105. data/lib/faker/default/vehicle.rb +162 -0
  106. data/lib/faker/default/verb.rb +27 -0
  107. data/lib/faker/default/world_cup.rb +86 -0
  108. data/lib/faker/games/dota.rb +80 -0
  109. data/lib/faker/games/elder_scrolls.rb +113 -0
  110. data/lib/faker/games/fallout.rb +62 -0
  111. data/lib/faker/games/game.rb +48 -0
  112. data/lib/faker/games/half_life.rb +48 -0
  113. data/lib/faker/games/heroes.rb +48 -0
  114. data/lib/faker/games/heroes_of_the_storm.rb +61 -0
  115. data/lib/faker/games/league_of_legends.rb +87 -0
  116. data/lib/faker/games/myst.rb +74 -0
  117. data/lib/faker/games/overwatch.rb +48 -0
  118. data/lib/faker/games/pokemon.rb +48 -0
  119. data/lib/faker/games/sonic_the_hedgehog.rb +48 -0
  120. data/lib/faker/games/super_smash_bros.rb +35 -0
  121. data/lib/faker/games/witcher.rb +87 -0
  122. data/lib/faker/games/world_of_warcraft.rb +35 -0
  123. data/lib/faker/games/zelda.rb +62 -0
  124. data/lib/faker/japanese_media/dragon_ball.rb +22 -0
  125. data/lib/faker/japanese_media/one_piece.rb +87 -0
  126. data/lib/faker/japanese_media/sword_art_online.rb +61 -0
  127. data/lib/faker/movies/back_to_the_future.rb +49 -0
  128. data/lib/faker/movies/ghostbusters.rb +49 -0
  129. data/lib/faker/movies/harry_potter.rb +87 -0
  130. data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +106 -0
  131. data/lib/faker/movies/hobbit.rb +62 -0
  132. data/lib/faker/movies/lebowski.rb +48 -0
  133. data/lib/faker/movies/lord_of_the_rings.rb +49 -0
  134. data/lib/faker/movies/movie.rb +20 -0
  135. data/lib/faker/movies/princess_bride.rb +36 -0
  136. data/lib/faker/movies/star_wars.rb +201 -0
  137. data/lib/faker/movies/v_for_vendetta.rb +50 -0
  138. data/lib/faker/music/grateful_dead.rb +37 -0
  139. data/lib/faker/music/music.rb +47 -0
  140. data/lib/faker/music/opera.rb +26 -0
  141. data/lib/faker/music/phish.rb +22 -0
  142. data/lib/faker/music/rock_band.rb +22 -0
  143. data/lib/faker/music/umphreys_mcgee.rb +22 -0
  144. data/lib/faker/quotes/quote.rb +32 -0
  145. data/lib/faker/quotes/shakespeare.rb +41 -0
  146. data/lib/faker/sports/basketball.rb +61 -0
  147. data/lib/faker/sports/football.rb +74 -0
  148. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +24 -0
  149. data/lib/faker/tv_shows/bojack_horseman.rb +51 -0
  150. data/lib/faker/tv_shows/breaking_bad.rb +37 -0
  151. data/lib/faker/tv_shows/buffy.rb +76 -0
  152. data/lib/faker/tv_shows/community.rb +38 -0
  153. data/lib/faker/tv_shows/dr_who.rb +115 -0
  154. data/lib/faker/tv_shows/dumb_and_dumber.rb +51 -0
  155. data/lib/faker/tv_shows/family_guy.rb +51 -0
  156. data/lib/faker/tv_shows/friends.rb +50 -0
  157. data/lib/faker/tv_shows/game_of_thrones.rb +77 -0
  158. data/lib/faker/tv_shows/hey_arnold.rb +50 -0
  159. data/lib/faker/tv_shows/how_i_met_your_mother.rb +64 -0
  160. data/lib/faker/tv_shows/michael_scott.rb +26 -0
  161. data/lib/faker/tv_shows/new_girl.rb +38 -0
  162. data/lib/faker/tv_shows/parks_and_rec.rb +37 -0
  163. data/lib/faker/tv_shows/rick_and_morty.rb +51 -0
  164. data/lib/faker/tv_shows/ru_paul.rb +37 -0
  165. data/lib/faker/tv_shows/seinfeld.rb +51 -0
  166. data/lib/faker/tv_shows/silicon_valley.rb +118 -0
  167. data/lib/faker/tv_shows/simpsons.rb +51 -0
  168. data/lib/faker/tv_shows/south_park.rb +38 -0
  169. data/lib/faker/tv_shows/star_trek.rb +63 -0
  170. data/lib/faker/tv_shows/stargate.rb +51 -0
  171. data/lib/faker/tv_shows/stranger_things.rb +38 -0
  172. data/lib/faker/tv_shows/the_expanse.rb +63 -0
  173. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +51 -0
  174. data/lib/faker/tv_shows/the_it_crowd.rb +64 -0
  175. data/lib/faker/tv_shows/the_thick_of_it.rb +51 -0
  176. data/lib/faker/tv_shows/twin_peaks.rb +51 -0
  177. data/lib/faker/tv_shows/venture_bros.rb +65 -0
  178. data/lib/faker/version.rb +5 -0
  179. data/lib/helpers/base58.rb +22 -0
  180. data/lib/helpers/char.rb +66 -0
  181. data/lib/helpers/unique_generator.rb +56 -0
  182. data/lib/locales/README.md +40 -0
  183. data/lib/locales/ar.yml +102 -0
  184. data/lib/locales/bg.yml +44 -0
  185. data/lib/locales/ca-CAT.yml +24 -0
  186. data/lib/locales/ca.yml +31 -0
  187. data/lib/locales/da-DK.yml +73 -0
  188. data/lib/locales/de-AT.yml +56 -0
  189. data/lib/locales/de-CH.yml +19 -0
  190. data/lib/locales/de.yml +174 -0
  191. data/lib/locales/ee.yml +61 -0
  192. data/lib/locales/en-AU.yml +28 -0
  193. data/lib/locales/en-BORK.yml +4 -0
  194. data/lib/locales/en-CA.yml +37 -0
  195. data/lib/locales/en-GB.yml +14 -0
  196. data/lib/locales/en-IND.yml +25 -0
  197. data/lib/locales/en-MS.yml +47 -0
  198. data/lib/locales/en-NEP.yml +49 -0
  199. data/lib/locales/en-NG.yml +77 -0
  200. data/lib/locales/en-NZ.yml +39 -0
  201. data/lib/locales/en-PAK.yml +18 -0
  202. data/lib/locales/en-SG.yml +35 -0
  203. data/lib/locales/en-TH.yml +360 -0
  204. data/lib/locales/en-UG.yml +128 -0
  205. data/lib/locales/en-US.yml +103 -0
  206. data/lib/locales/en-ZA.yml +148 -0
  207. data/lib/locales/en-au-ocker.yml +33 -0
  208. data/lib/locales/en.yml +11 -0
  209. data/lib/locales/en/README.md +13 -0
  210. data/lib/locales/en/address.yml +581 -0
  211. data/lib/locales/en/ancient.yml +7 -0
  212. data/lib/locales/en/animal.yml +6 -0
  213. data/lib/locales/en/app.yml +8 -0
  214. data/lib/locales/en/appliance.yml +5 -0
  215. data/lib/locales/en/aqua_teen_hunger_force.yml +4 -0
  216. data/lib/locales/en/artist.yml +4 -0
  217. data/lib/locales/en/back_to_the_future.yml +120 -0
  218. data/lib/locales/en/bank.yml +302 -0
  219. data/lib/locales/en/basketball.yml +99 -0
  220. data/lib/locales/en/beer.yml +9 -0
  221. data/lib/locales/en/bojack_horseman.yml +6 -0
  222. data/lib/locales/en/book.yml +7 -0
  223. data/lib/locales/en/bossa_nova.yml +6 -0
  224. data/lib/locales/en/breaking_bad.yml +28 -0
  225. data/lib/locales/en/buffy.yml +260 -0
  226. data/lib/locales/en/business.yml +5 -0
  227. data/lib/locales/en/cannabis.yml +13 -0
  228. data/lib/locales/en/cat.yml +7 -0
  229. data/lib/locales/en/chuck_norris.yml +82 -0
  230. data/lib/locales/en/code.yml +4 -0
  231. data/lib/locales/en/coffee.yml +31 -0
  232. data/lib/locales/en/coin.yml +6 -0
  233. data/lib/locales/en/color.yml +4 -0
  234. data/lib/locales/en/commerce.yml +11 -0
  235. data/lib/locales/en/community.yml +33 -0
  236. data/lib/locales/en/company.yml +22 -0
  237. data/lib/locales/en/compass.yml +34 -0
  238. data/lib/locales/en/construction.yml +425 -0
  239. data/lib/locales/en/cosmere.yml +57 -0
  240. data/lib/locales/en/crypto_coin.yml +25 -0
  241. data/lib/locales/en/culture_series.yml +307 -0
  242. data/lib/locales/en/currency.yml +6 -0
  243. data/lib/locales/en/dc_comics.yml +52 -0
  244. data/lib/locales/en/demographic.yml +8 -0
  245. data/lib/locales/en/dessert.yml +6 -0
  246. data/lib/locales/en/device.yml +7 -0
  247. data/lib/locales/en/dog.yml +11 -0
  248. data/lib/locales/en/dota.yml +105 -0
  249. data/lib/locales/en/dr_who.yml +96 -0
  250. data/lib/locales/en/dragon_ball.yml +4 -0
  251. data/lib/locales/en/dumb_and_dumber.yml +59 -0
  252. data/lib/locales/en/dune.yml +159 -0
  253. data/lib/locales/en/educator.yml +11 -0
  254. data/lib/locales/en/elder_scrolls.yml +11 -0
  255. data/lib/locales/en/electrical_components.yml +6 -0
  256. data/lib/locales/en/esport.yml +8 -0
  257. data/lib/locales/en/fallout.yml +137 -0
  258. data/lib/locales/en/family_guy.yml +7 -0
  259. data/lib/locales/en/file.yml +5 -0
  260. data/lib/locales/en/finance.yml +113 -0
  261. data/lib/locales/en/food.yml +13 -0
  262. data/lib/locales/en/football.yml +8 -0
  263. data/lib/locales/en/fresh_prince_of_bel_air.yml +73 -0
  264. data/lib/locales/en/friends.yml +6 -0
  265. data/lib/locales/en/funny_name.yml +4 -0
  266. data/lib/locales/en/game.yml +283 -0
  267. data/lib/locales/en/game_of_thrones.yml +8 -0
  268. data/lib/locales/en/gender.yml +5 -0
  269. data/lib/locales/en/ghostbusters.yml +91 -0
  270. data/lib/locales/en/grateful_dead.yml +48 -0
  271. data/lib/locales/en/greek_philosophers.yml +26 -0
  272. data/lib/locales/en/hacker.yml +8 -0
  273. data/lib/locales/en/half_life.yml +7 -0
  274. data/lib/locales/en/harry_potter.yml +9 -0
  275. data/lib/locales/en/heroes.yml +6 -0
  276. data/lib/locales/en/heroes_of_the_storm.yml +7 -0
  277. data/lib/locales/en/hey_arnold.yml +24 -0
  278. data/lib/locales/en/hipster.yml +4 -0
  279. data/lib/locales/en/hitchhikers_guide_to_the_galaxy.yml +45 -0
  280. data/lib/locales/en/hobbit.yml +19 -0
  281. data/lib/locales/en/horse.yml +6 -0
  282. data/lib/locales/en/house.yml +5 -0
  283. data/lib/locales/en/how_i_met_your_mother.yml +28 -0
  284. data/lib/locales/en/id_number.yml +5 -0
  285. data/lib/locales/en/industry_segments.yml +7 -0
  286. data/lib/locales/en/internet.yml +21 -0
  287. data/lib/locales/en/invoice.yml +6 -0
  288. data/lib/locales/en/job.yml +15 -0
  289. data/lib/locales/en/kpop.yml +83 -0
  290. data/lib/locales/en/league_of_legends.yml +10 -0
  291. data/lib/locales/en/lebowski.yml +43 -0
  292. data/lib/locales/en/lord_of_the_rings.yml +6 -0
  293. data/lib/locales/en/lorem.yml +11 -0
  294. data/lib/locales/en/lovecraft.yml +9 -0
  295. data/lib/locales/en/markdown.yml +5 -0
  296. data/lib/locales/en/marketing.yml +4 -0
  297. data/lib/locales/en/measurement.yml +11 -0
  298. data/lib/locales/en/michael_scott.yml +45 -0
  299. data/lib/locales/en/military.yml +8 -0
  300. data/lib/locales/en/movie.yml +5 -0
  301. data/lib/locales/en/music.yml +32 -0
  302. data/lib/locales/en/myst.yml +48 -0
  303. data/lib/locales/en/name.yml +25 -0
  304. data/lib/locales/en/nation.yml +11 -0
  305. data/lib/locales/en/nato_phonetic_alphabet.yml +4 -0
  306. data/lib/locales/en/new_girl.yml +40 -0
  307. data/lib/locales/en/one_piece.yml +9 -0
  308. data/lib/locales/en/opera.yml +172 -0
  309. data/lib/locales/en/overwatch.yml +41 -0
  310. data/lib/locales/en/parks_and_rec.yml +7 -0
  311. data/lib/locales/en/phish.yml +4 -0
  312. data/lib/locales/en/phone_number.yml +7 -0
  313. data/lib/locales/en/pokemon.yml +8 -0
  314. data/lib/locales/en/princess_bride.yml +5 -0
  315. data/lib/locales/en/programming_language.yml +6 -0
  316. data/lib/locales/en/quote.yml +166 -0
  317. data/lib/locales/en/relationship.yml +10 -0
  318. data/lib/locales/en/restaurant.yml +129 -0
  319. data/lib/locales/en/rick_and_morty.yml +6 -0
  320. data/lib/locales/en/rock_band.yml +4 -0
  321. data/lib/locales/en/rupaul.yml +125 -0
  322. data/lib/locales/en/science.yml +6 -0
  323. data/lib/locales/en/seinfeld.yml +6 -0
  324. data/lib/locales/en/shakespeare.yml +56 -0
  325. data/lib/locales/en/silicon_valley.yml +53 -0
  326. data/lib/locales/en/simpsons.yml +26 -0
  327. data/lib/locales/en/slack_emoji.yml +20 -0
  328. data/lib/locales/en/sonic_the_hedgehog.yml +410 -0
  329. data/lib/locales/en/source.yml +16 -0
  330. data/lib/locales/en/south_park.yml +5 -0
  331. data/lib/locales/en/space.yml +17 -0
  332. data/lib/locales/en/star_trek.yml +7 -0
  333. data/lib/locales/en/star_wars.yml +258 -0
  334. data/lib/locales/en/stargate.yml +21 -0
  335. data/lib/locales/en/stranger_thing.yml +36 -0
  336. data/lib/locales/en/stripe.yml +42 -0
  337. data/lib/locales/en/subscription.yml +8 -0
  338. data/lib/locales/en/super_smash_bros.yml +206 -0
  339. data/lib/locales/en/superhero.yml +12 -0
  340. data/lib/locales/en/sword_art_online.yml +334 -0
  341. data/lib/locales/en/team.yml +8 -0
  342. data/lib/locales/en/the_expanse.yml +7 -0
  343. data/lib/locales/en/the_it_crowd.yml +155 -0
  344. data/lib/locales/en/the_thick_of_it.yml +6 -0
  345. data/lib/locales/en/twin_peaks.yml +6 -0
  346. data/lib/locales/en/umphreys_mcgee.yml +4 -0
  347. data/lib/locales/en/university.yml +10 -0
  348. data/lib/locales/en/v_for_vendetta.yml +163 -0
  349. data/lib/locales/en/vehicle.yml +80 -0
  350. data/lib/locales/en/venture_bros.yml +7 -0
  351. data/lib/locales/en/verbs.yml +8 -0
  352. data/lib/locales/en/witcher.yml +11 -0
  353. data/lib/locales/en/world_cup.yml +271 -0
  354. data/lib/locales/en/world_of_warcraft.yml +8 -0
  355. data/lib/locales/en/yoda.yml +4 -0
  356. data/lib/locales/en/zelda.yml +8 -0
  357. data/lib/locales/es-MX.yml +102 -0
  358. data/lib/locales/es.yml +94 -0
  359. data/lib/locales/fa.yml +10 -0
  360. data/lib/locales/fi-FI.yml +35 -0
  361. data/lib/locales/fr-CA.yml +90 -0
  362. data/lib/locales/fr-CH.yml +78 -0
  363. data/lib/locales/fr.yml +114 -0
  364. data/lib/locales/he.yml +27 -0
  365. data/lib/locales/hy.yml +416 -0
  366. data/lib/locales/id.yml +23 -0
  367. data/lib/locales/it.yml +70 -0
  368. data/lib/locales/ja.yml +101 -0
  369. data/lib/locales/ko.yml +40 -0
  370. data/lib/locales/lv.yml +55 -0
  371. data/lib/locales/nb-NO.yml +62 -0
  372. data/lib/locales/nl.yml +92 -0
  373. data/lib/locales/no.yml +7 -0
  374. data/lib/locales/pl.yml +77 -0
  375. data/lib/locales/pt-BR.yml +697 -0
  376. data/lib/locales/pt.yml +66 -0
  377. data/lib/locales/ru.yml +76 -0
  378. data/lib/locales/sk.yml +78 -0
  379. data/lib/locales/sv.yml +81 -0
  380. data/lib/locales/th.yml +380 -0
  381. data/lib/locales/tr.yml +40 -0
  382. data/lib/locales/uk.yml +86 -0
  383. data/lib/locales/vi.yml +68 -0
  384. data/lib/locales/zh-CN.yml +56 -0
  385. data/lib/locales/zh-TW.yml +29 -0
  386. metadata +568 -0
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'digest'
4
+ require 'securerandom'
5
+
6
+ module Faker
7
+ class Blockchain
8
+ class Tezos < Base
9
+ class << self
10
+ # @private
11
+ PREFIXES = {
12
+ tz1: [6, 161, 159],
13
+ KT1: [2, 90, 121],
14
+ edpk: [13, 15, 37, 217],
15
+ edsk: [13, 15, 58, 7],
16
+ edsig: [9, 245, 205, 134, 18],
17
+ B: [1, 52],
18
+ o: [5, 116]
19
+ }.freeze
20
+
21
+ ##
22
+ # Produces a random Tezos account address
23
+ #
24
+ # @return [String]
25
+ #
26
+ # @example
27
+ # Faker::Blockchain::Tezos.account
28
+ # #=> "tz1eUsgK6aj752Fbxwk5sAoEFvSDnPjZ4qvk"
29
+ #
30
+ # @faker.version 1.9.2
31
+ def account
32
+ encode_tz(:tz1, 20)
33
+ end
34
+
35
+ ##
36
+ # Produces a random Tezos contract
37
+ #
38
+ # @return [String]
39
+ #
40
+ # @example
41
+ # Faker::Blockchain::Tezos.contract
42
+ # #=> "KT1MroqeP15nnitB4CnNfkqHYa2NErhPPLWF"
43
+ #
44
+ # @faker.version 1.9.2
45
+ def contract
46
+ encode_tz(:KT1, 20)
47
+ end
48
+
49
+ ##
50
+ # Produces a random Tezos operation
51
+ #
52
+ # @return [String]
53
+ #
54
+ # @example
55
+ # Faker::Blockchain::Tezos.operation
56
+ # #=> "onygWYXJX3xNstFLv9PcCrhQdCkENC795xwSinmTEc1jsDN4VDa"
57
+ #
58
+ # @faker.version 1.9.2
59
+ def operation
60
+ encode_tz(:o, 32)
61
+ end
62
+
63
+ ##
64
+ # Produces a random Tezos block
65
+ #
66
+ # @return [String]
67
+ #
68
+ # @example
69
+ # Faker::Blockchain::Tezos.block
70
+ # #=> "BMbhs2rkY1dvAkAyRytvPsjFQ2RiPrBhYkxvWpY65dzkdSuw58a"
71
+ #
72
+ # @faker.version 1.9.4
73
+ def block
74
+ encode_tz(:B, 32)
75
+ end
76
+
77
+ ##
78
+ # Produces a random Tezos signature
79
+ #
80
+ # @return [String]
81
+ #
82
+ # @example
83
+ # Faker::Blockchain::Tezos.signature
84
+ # #=> "edsigu165B7VFf3Dpw2QABVzEtCxJY2gsNBNcE3Ti7rRxtDUjqTFRpg67EdAQmY6YWPE5tKJDMnSTJDFu65gic8uLjbW2YwGvAZ"
85
+ #
86
+ # @faker.version 1.9.2
87
+ def signature
88
+ encode_tz(:edsig, 64)
89
+ end
90
+
91
+ protected
92
+
93
+ ##
94
+ # @param prefix [Symbol]
95
+ # @param payload_size [Integer] The size of the payload
96
+ #
97
+ # @return [String]
98
+ def encode_tz(prefix, payload_size)
99
+ prefix = PREFIXES.fetch(prefix)
100
+ packed = prefix.map(&:chr).join('') + Faker::Config.random.bytes(payload_size)
101
+ checksum = Digest::SHA2.digest(Digest::SHA2.digest(packed))[0..3]
102
+ Faker::Base58.encode(packed + checksum)
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Book < Base
5
+ flexible :book
6
+
7
+ class << self
8
+ ##
9
+ # Produces a random book title
10
+ #
11
+ # @return [String]
12
+ #
13
+ # @example
14
+ # Faker::Book.title #=> "The Odd Sister"
15
+ #
16
+ # @faker.version 1.9.3
17
+ def title
18
+ fetch('book.title')
19
+ end
20
+
21
+ ##
22
+ # Produces a random book author
23
+ #
24
+ # @return [String]
25
+ #
26
+ # @example
27
+ # Faker::Book.author #=> "Alysha Olsen"
28
+ #
29
+ # @faker.version 1.9.3
30
+ def author
31
+ parse('book.author')
32
+ end
33
+
34
+ ##
35
+ # Produces a random book publisher
36
+ #
37
+ # @return [String]
38
+ #
39
+ # @example
40
+ # Faker::Book.publisher #=> "Opus Reader"
41
+ #
42
+ # @faker.version 1.9.3
43
+ def publisher
44
+ fetch('book.publisher')
45
+ end
46
+
47
+ ##
48
+ # Produces a random genre
49
+ #
50
+ # @return [String]
51
+ #
52
+ # @example
53
+ # Faker::Book.genre #=> "Mystery"
54
+ #
55
+ # @faker.version 1.9.3
56
+ def genre
57
+ fetch('book.genre')
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Books
5
+ class CultureSeries < Base
6
+ flexible :culture_series
7
+
8
+ class << self
9
+ ##
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Books::CultureSeries.book
14
+ # #=> "The Player of Games"
15
+ #
16
+ # @faker.version 1.9.3
17
+ def book
18
+ fetch('culture_series.books')
19
+ end
20
+
21
+ ##
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::Books::CultureSeries.culture_ship
26
+ # #=> "Fate Amenable To Change"
27
+ #
28
+ # @faker.version 1.9.3
29
+ def culture_ship
30
+ fetch('culture_series.culture_ships')
31
+ end
32
+
33
+ ##
34
+ # @return [String]
35
+ #
36
+ # @example
37
+ # Faker::Books::CultureSeries.culture_ship_class
38
+ # #=> "General Systems Vehicle"
39
+ #
40
+ # @faker.version 1.9.3
41
+ def culture_ship_class
42
+ fetch('culture_series.culture_ship_classes')
43
+ end
44
+
45
+ ##
46
+ # @return [String]
47
+ #
48
+ # @example
49
+ # Faker::Books::CultureSeries.culture_ship_class_abv
50
+ # #=> "The Odd Sister"
51
+ #
52
+ # @faker.version 1.9.3
53
+ def culture_ship_class_abv
54
+ fetch('culture_series.culture_ship_class_abvs')
55
+ end
56
+
57
+ ##
58
+ # @return [String]
59
+ #
60
+ # @example
61
+ # Faker::Books::CultureSeries.civ
62
+ # #=> "Culture"
63
+ #
64
+ # @faker.version 1.9.3
65
+ def civ
66
+ fetch('culture_series.civs')
67
+ end
68
+
69
+ ##
70
+ # @return [String]
71
+ #
72
+ # @example
73
+ # Faker::Books::CultureSeries.planet
74
+ # #=> "Xinth"
75
+ #
76
+ # @faker.version 1.9.3
77
+ def planet
78
+ fetch('culture_series.planets')
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,119 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Books
5
+ ##
6
+ # A Faker module beyond your dreams, test data beyond your imagination.
7
+ class Dune < Base
8
+ class << self
9
+ ##
10
+ # Produces the name of a character from Dune
11
+ #
12
+ # @return [String]
13
+ #
14
+ # @example
15
+ # Faker::Books::Dune.character #=> "Leto Atreides"
16
+ #
17
+ # @faker.version 1.9.3
18
+ def character
19
+ fetch('dune.characters')
20
+ end
21
+
22
+ ##
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Books::Dune.title #=> "Duke"
27
+ #
28
+ # @faker.version 1.9.3
29
+ def title
30
+ fetch('dune.titles')
31
+ end
32
+
33
+ ##
34
+ # Produces the name of a planet from Dune
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Books::Dune.planet #=> "Caladan"
40
+ #
41
+ # @faker.version 1.9.3
42
+ def planet
43
+ fetch('dune.planets')
44
+ end
45
+
46
+ ##
47
+ # Produces a quote from Dune
48
+ #
49
+ # @param character [String] The name of the character that the quote should be from
50
+ #
51
+ # @return [String]
52
+ #
53
+ # @example
54
+ # Faker::Books::Dune.quote
55
+ # #=> "A dead man, surely, no longer requires that water."
56
+ # @example
57
+ # Faker::Books::Dune.quote(character: "baron_harkonnen")
58
+ # #=> "He who controls the spice, controls the universe!"
59
+ #
60
+ # @faker.version 1.9.3
61
+ def quote(legacy_character = NOT_GIVEN, character: nil)
62
+ warn_for_deprecated_arguments do |keywords|
63
+ keywords << :character if legacy_character != NOT_GIVEN
64
+ end
65
+
66
+ quoted_characters = translate('faker.dune.quotes').keys
67
+
68
+ if character.nil?
69
+ character = sample(quoted_characters).to_s
70
+ else
71
+ character = character.to_s.downcase
72
+
73
+ unless quoted_characters.include?(character.to_sym)
74
+ raise ArgumentError,
75
+ "Characters quoted can be left blank or #{quoted_characters.join(', ')}"
76
+ end
77
+ end
78
+
79
+ fetch('dune.quotes.' + character)
80
+ end
81
+
82
+ ##
83
+ # Produces a saying from Dune
84
+ #
85
+ # @param source [String]
86
+ #
87
+ # @return [String]
88
+ #
89
+ # @example
90
+ # Faker::Books::Dune.saying #=> "You do not beg the sun for mercy."
91
+ # @example
92
+ # Faker::Books::Dune.saying(source: "fremen")
93
+ # #=> "May thy knife chip and shatter."
94
+ #
95
+ # @faker.version 1.9.3
96
+ def saying(legacy_source = NOT_GIVEN, source: nil)
97
+ warn_for_deprecated_arguments do |keywords|
98
+ keywords << :source if legacy_source != NOT_GIVEN
99
+ end
100
+
101
+ sourced_sayings = translate('faker.dune.sayings').keys
102
+
103
+ if source.nil?
104
+ source = sample(sourced_sayings).to_s
105
+ else
106
+ source = source.to_s.downcase
107
+
108
+ unless sourced_sayings.include?(source.to_sym)
109
+ raise ArgumentError,
110
+ "Sources quoted in sayings can be left blank or #{sourced_sayings.join(', ')}"
111
+ end
112
+ end
113
+
114
+ fetch('dune.sayings.' + source)
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,276 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Books
5
+ class Lovecraft < Base
6
+ class << self
7
+ ##
8
+ # Produces the name of a location
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Books::Lovecraft.location #=> "Kingsport"
14
+ #
15
+ # @faker.version 1.9.3
16
+ def location
17
+ fetch('lovecraft.location')
18
+ end
19
+
20
+ ##
21
+ # @param number [Integer] The number of times to repeat the chant
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::Books::Lovecraft.fhtagn
26
+ # #=> "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn"
27
+ # @example
28
+ # Faker::Books::Lovecraft.fhtagn(number: 3)
29
+ # #=> "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fht...
30
+ #
31
+ # @faker.version 1.9.3
32
+ def fhtagn(legacy_number = NOT_GIVEN, number: 1)
33
+ warn_for_deprecated_arguments do |keywords|
34
+ keywords << :number if legacy_number != NOT_GIVEN
35
+ end
36
+
37
+ Array.new(number) { fetch('lovecraft.fhtagn') }.join('. ')
38
+ end
39
+
40
+ ##
41
+ # Produces the name of a deity
42
+ #
43
+ # @return [String]
44
+ #
45
+ # @example
46
+ # Faker::Books::Lovecraft.deity #=> "Shub-Niggurath"
47
+ #
48
+ # @faker.version 1.9.3
49
+ def deity
50
+ fetch('lovecraft.deity')
51
+ end
52
+
53
+ ##
54
+ # Produces the name of a tome
55
+ #
56
+ # @return [String]
57
+ #
58
+ # @example
59
+ # Faker::Books::Lovecraft.tome #=> "Book of Eibon"
60
+ #
61
+ # @faker.version 1.9.3
62
+ def tome
63
+ fetch('lovecraft.tome')
64
+ end
65
+
66
+ ##
67
+ # Produces a random sentence
68
+ #
69
+ # @param word_count [Integer] The number of words to have in the sentence
70
+ # @param random_words_to_add [Integer]
71
+ #
72
+ # @return [String]
73
+ #
74
+ # @example
75
+ # Faker::Books::Lovecraft.sentence
76
+ # #=> "Furtive antiquarian squamous dank cat loathsome amorphous lurk."
77
+ # @example
78
+ # Faker::Books::Lovecraft.sentence(word_count: 3)
79
+ # #=> "Daemoniac antediluvian fainted squamous comprehension gambrel nameless singular."
80
+ # @example
81
+ # Faker::Books::Lovecraft.sentence(word_count: 3, random_words_to_add: 1)
82
+ # #=> "Amorphous indescribable tenebrous."
83
+ #
84
+ # @faker.version 1.9.3
85
+ def sentence(legacy_word_count = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, random_words_to_add: 6)
86
+ warn_for_deprecated_arguments do |keywords|
87
+ keywords << :word_count if legacy_word_count != NOT_GIVEN
88
+ keywords << :random_words_to_add if legacy_random_words_to_add != NOT_GIVEN
89
+ end
90
+
91
+ words(number: word_count + rand(random_words_to_add.to_i).to_i, spaces_allowed: true).join(' ').capitalize + '.'
92
+ end
93
+
94
+ ##
95
+ # Produces a random word
96
+ #
97
+ # @return [String]
98
+ #
99
+ # @example
100
+ # Faker::Books::Lovecraft.word #=> "furtive"
101
+ #
102
+ # @faker.version 1.9.3
103
+ def word
104
+ random_word = sample(translate('faker.lovecraft.words'))
105
+ random_word =~ /\s/ ? word : random_word
106
+ end
107
+
108
+ ##
109
+ # Produces a array of random words
110
+ #
111
+ # @param number [Integer] Number of words to generate
112
+ # @param spaces_allowed [Boolean] If true, generated words can contain spaces
113
+ #
114
+ # @return [Array<String>]
115
+ #
116
+ # @example
117
+ # Faker::Books::Lovecraft.words
118
+ # #=> [
119
+ # # "manuscript",
120
+ # # "abnormal",
121
+ # # "singular",
122
+ # # ]
123
+ # @example
124
+ # Faker::Books::Lovecraft.words(number: 2)
125
+ # #=> [
126
+ # # "daemoniac",
127
+ # # "cat",
128
+ # # ]
129
+ # @example
130
+ # Faker::Books::Lovecraft.words(number: 2, spaces_allowed: 1)
131
+ # #=> [
132
+ # # "lurk",
133
+ # # "charnel",
134
+ # # ]
135
+ #
136
+ # @faker.version 1.9.3
137
+ def words(legacy_number = NOT_GIVEN, legacy_spaces_allowed = NOT_GIVEN, number: 3, spaces_allowed: false)
138
+ warn_for_deprecated_arguments do |keywords|
139
+ keywords << :number if legacy_number != NOT_GIVEN
140
+ keywords << :spaces_allowed if legacy_spaces_allowed != NOT_GIVEN
141
+ end
142
+
143
+ resolved_num = resolve(number)
144
+ word_list = translate('faker.lovecraft.words')
145
+ word_list *= ((resolved_num / word_list.length) + 1)
146
+
147
+ return shuffle(word_list)[0, resolved_num] if spaces_allowed
148
+
149
+ words = shuffle(word_list)[0, resolved_num]
150
+ words.each_with_index { |w, i| words[i] = word if w =~ /\s/ }
151
+ end
152
+
153
+ ##
154
+ # Produces a array of random sentences
155
+ #
156
+ # @param number [Integer] Number of sentences to generate
157
+ #
158
+ # @return [Array<String>]
159
+ #
160
+ # @example
161
+ # Faker::Books::Lovecraft.sentences
162
+ # #=> [
163
+ # # "Nameless loathsome decadent gambrel.",
164
+ # # "Ululate swarthy immemorial cat madness gibbous unmentionable unnamable.",
165
+ # # "Decadent antediluvian non-euclidean tentacles amorphous tenebrous.",
166
+ # # ]
167
+ # @example
168
+ # Faker::Books::Lovecraft.sentences(number: 2)
169
+ # #=> [
170
+ # # "Antediluvian amorphous unmentionable singular accursed squamous immemorial.",
171
+ # # "Gambrel daemoniac gibbous stygian shunned ululate iridescence abnormal.",
172
+ # # ]
173
+ #
174
+ # @faker.version 1.9.3
175
+ def sentences(legacy_number = NOT_GIVEN, number: 3)
176
+ warn_for_deprecated_arguments do |keywords|
177
+ keywords << :number if legacy_number != NOT_GIVEN
178
+ end
179
+
180
+ [].tap do |sentences|
181
+ 1.upto(resolve(number)) do
182
+ sentences << sentence(word_count: 3)
183
+ end
184
+ end
185
+ end
186
+
187
+ ##
188
+ # Produces a random paragraph
189
+ #
190
+ # @param sentence_count [Integer] Number of sentences to generate
191
+ # @param random_sentences_to_add [Integer]
192
+ #
193
+ # @return [String]
194
+ #
195
+ # @example
196
+ # Faker::Books::Lovecraft.paragraph
197
+ # #=> "Squamous nameless daemoniac fungus ululate. Cyclopean stygian decadent loathsome manuscript tenebrous. Foetid abnormal stench. Dank non-euclidean comprehension eldritch. Charnel singular shunned lurk effulgence fungus."
198
+ # @example
199
+ # Faker::Books::Lovecraft.paragraph(sentence_count: 2)
200
+ # #=> "Decadent lurk tenebrous loathsome furtive spectral amorphous gibbous. Gambrel eldritch daemoniac cat madness comprehension stygian effulgence."
201
+ # @example
202
+ # Faker::Books::Lovecraft.paragraph(sentence_count: 1, random_sentences_to_add: 1)
203
+ # #=> "Stench cyclopean fainted antiquarian nameless. Antiquarian ululate tenebrous non-euclidean effulgence."
204
+ #
205
+ # @faker.version 1.9.3
206
+ def paragraph(legacy_sentence_count = NOT_GIVEN, legacy_random_sentences_to_add = NOT_GIVEN, sentence_count: 3, random_sentences_to_add: 3)
207
+ warn_for_deprecated_arguments do |keywords|
208
+ keywords << :sentence_count if legacy_sentence_count != NOT_GIVEN
209
+ keywords << :random_sentences_to_add if legacy_random_sentences_to_add != NOT_GIVEN
210
+ end
211
+
212
+ sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i).to_i).join(' ')
213
+ end
214
+
215
+ ##
216
+ # Produces a array of random paragraphs
217
+ #
218
+ # @param number [Integer] Number of paragraphs to generate
219
+ #
220
+ # @return [Array<String>]
221
+ #
222
+ # @example
223
+ # Faker::Books::Lovecraft.paragraphs
224
+ # #=> [
225
+ # # "Noisome daemoniac gibbous abnormal antediluvian. Unutterable fung...
226
+ # # "Non-euclidean immemorial indescribable accursed furtive. Dank unn...
227
+ # # "Charnel antediluvian unnamable cat blasphemous comprehension tene...
228
+ # # ]
229
+ # @example
230
+ # Faker::Books::Lovecraft.paragraphs(number: 2)
231
+ # #=> [
232
+ # # "Hideous amorphous manuscript antediluvian non-euclidean cat eldri...
233
+ # # "Tenebrous unnamable comprehension antediluvian lurk. Lurk spectra...
234
+ # # ]
235
+ #
236
+ # @faker.version 1.9.3
237
+ def paragraphs(legacy_number = NOT_GIVEN, number: 3)
238
+ warn_for_deprecated_arguments do |keywords|
239
+ keywords << :number if legacy_number != NOT_GIVEN
240
+ end
241
+
242
+ [].tap do |paragraphs|
243
+ 1.upto(resolve(number)) do
244
+ paragraphs << paragraph(sentence_count: 3)
245
+ end
246
+ end
247
+ end
248
+
249
+ ##
250
+ # @param characters [Integer] Number of characters to generate in the paragraph
251
+ #
252
+ # @return [String]
253
+ #
254
+ # @example
255
+ # Faker::Books::Lovecraft.paragraph_by_chars
256
+ # #=> "Truffaut stumptown trust fund 8-bit messenger bag portland. Meh kombucha selvage swag biodiesel. Lomo kinfolk jean shorts asymmetrical diy. Wayfarers portland twee stumptown. Wes anderson biodiesel retro 90's pabst. Diy echo 90's mixtape semiotics. Cornho."
257
+ # @example
258
+ # Faker::Books::Lovecraft.paragraph_by_chars(characters: 128)
259
+ # #=> "Effulgence madness noisome. Fungus stygian mortal madness amorphous dank. Decadent noisome hideous effulgence. Tentacles charne."
260
+ #
261
+ # @faker.version 1.9.3
262
+ def paragraph_by_chars(legacy_characters = NOT_GIVEN, characters: 256)
263
+ warn_for_deprecated_arguments do |keywords|
264
+ keywords << :characters if legacy_characters != NOT_GIVEN
265
+ end
266
+
267
+ paragraph = paragraph(sentence_count: 3)
268
+
269
+ paragraph += ' ' + paragraph(sentence_count: 3) while paragraph.length < characters
270
+
271
+ paragraph[0...characters - 1] + '.'
272
+ end
273
+ end
274
+ end
275
+ end
276
+ end