faker 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +1282 -0
  3. data/History.md +176 -0
  4. data/License.txt +20 -0
  5. data/README.md +364 -0
  6. data/bin/faker +5 -0
  7. data/lib/faker.rb +308 -0
  8. data/lib/faker/blockchain/bitcoin.rb +34 -0
  9. data/lib/faker/blockchain/ethereum.rb +16 -0
  10. data/lib/faker/blockchain/tezos.rb +51 -0
  11. data/lib/faker/books/book.rb +25 -0
  12. data/lib/faker/books/culture_series.rb +34 -0
  13. data/lib/faker/books/dune.rb +66 -0
  14. data/lib/faker/books/lovecraft.rb +104 -0
  15. data/lib/faker/creature/animal.rb +13 -0
  16. data/lib/faker/creature/cat.rb +23 -0
  17. data/lib/faker/creature/dog.rb +43 -0
  18. data/lib/faker/creature/horse.rb +19 -0
  19. data/lib/faker/default/address.rb +123 -0
  20. data/lib/faker/default/alphanumeric.rb +56 -0
  21. data/lib/faker/default/ancient.rb +23 -0
  22. data/lib/faker/default/app.rb +31 -0
  23. data/lib/faker/default/appliance.rb +15 -0
  24. data/lib/faker/default/artist.rb +11 -0
  25. data/lib/faker/default/avatar.rb +28 -0
  26. data/lib/faker/default/bank.rb +108 -0
  27. data/lib/faker/default/beer.rb +41 -0
  28. data/lib/faker/default/boolean.rb +15 -0
  29. data/lib/faker/default/bossa_nova.rb +15 -0
  30. data/lib/faker/default/business.rb +23 -0
  31. data/lib/faker/default/cannabis.rb +45 -0
  32. data/lib/faker/default/chile_rut.rb +54 -0
  33. data/lib/faker/default/chuck_norris.rb +14 -0
  34. data/lib/faker/default/code.rb +201 -0
  35. data/lib/faker/default/coffee.rb +37 -0
  36. data/lib/faker/default/coin.rb +15 -0
  37. data/lib/faker/default/color.rb +32 -0
  38. data/lib/faker/default/commerce.rb +80 -0
  39. data/lib/faker/default/company.rb +264 -0
  40. data/lib/faker/default/compass.rb +67 -0
  41. data/lib/faker/default/construction.rb +29 -0
  42. data/lib/faker/default/cosmere.rb +48 -0
  43. data/lib/faker/default/crypto.rb +21 -0
  44. data/lib/faker/default/crypto_coin.rb +49 -0
  45. data/lib/faker/default/currency.rb +19 -0
  46. data/lib/faker/default/date.rb +101 -0
  47. data/lib/faker/default/dc_comics.rb +25 -0
  48. data/lib/faker/default/demographic.rb +41 -0
  49. data/lib/faker/default/dessert.rb +21 -0
  50. data/lib/faker/default/device.rb +31 -0
  51. data/lib/faker/default/driving_licence.rb +65 -0
  52. data/lib/faker/default/educator.rb +35 -0
  53. data/lib/faker/default/electrical_components.rb +21 -0
  54. data/lib/faker/default/esport.rb +27 -0
  55. data/lib/faker/default/file.rb +49 -0
  56. data/lib/faker/default/fillmurray.rb +23 -0
  57. data/lib/faker/default/finance.rb +44 -0
  58. data/lib/faker/default/food.rb +49 -0
  59. data/lib/faker/default/funny_name.rb +45 -0
  60. data/lib/faker/default/gender.rb +15 -0
  61. data/lib/faker/default/greek_philosophers.rb +15 -0
  62. data/lib/faker/default/hacker.rb +45 -0
  63. data/lib/faker/default/hipster.rb +97 -0
  64. data/lib/faker/default/house.rb +15 -0
  65. data/lib/faker/default/id_number.rb +164 -0
  66. data/lib/faker/default/industry_segments.rb +25 -0
  67. data/lib/faker/default/internet.rb +283 -0
  68. data/lib/faker/default/invoice.rb +109 -0
  69. data/lib/faker/default/job.rb +25 -0
  70. data/lib/faker/default/json.rb +87 -0
  71. data/lib/faker/default/kpop.rb +31 -0
  72. data/lib/faker/default/lorem.rb +150 -0
  73. data/lib/faker/default/lorem_flickr.rb +78 -0
  74. data/lib/faker/default/lorem_pixel.rb +47 -0
  75. data/lib/faker/default/markdown.rb +84 -0
  76. data/lib/faker/default/marketing.rb +13 -0
  77. data/lib/faker/default/measurement.rb +116 -0
  78. data/lib/faker/default/military.rb +27 -0
  79. data/lib/faker/default/name.rb +58 -0
  80. data/lib/faker/default/nation.rb +33 -0
  81. data/lib/faker/default/nato_phonetic_alphabet.rb +11 -0
  82. data/lib/faker/default/nhs.rb +38 -0
  83. data/lib/faker/default/number.rb +150 -0
  84. data/lib/faker/default/omniauth.rb +371 -0
  85. data/lib/faker/default/phone_number.rb +54 -0
  86. data/lib/faker/default/placeholdit.rb +41 -0
  87. data/lib/faker/default/programming_language.rb +15 -0
  88. data/lib/faker/default/relationship.rb +46 -0
  89. data/lib/faker/default/restaurant.rb +11 -0
  90. data/lib/faker/default/science.rb +19 -0
  91. data/lib/faker/default/slack_emoji.rb +43 -0
  92. data/lib/faker/default/source.rb +35 -0
  93. data/lib/faker/default/south_africa.rb +51 -0
  94. data/lib/faker/default/space.rb +64 -0
  95. data/lib/faker/default/string.rb +49 -0
  96. data/lib/faker/default/stripe.rb +81 -0
  97. data/lib/faker/default/subscription.rb +25 -0
  98. data/lib/faker/default/superhero.rb +27 -0
  99. data/lib/faker/default/team.rb +29 -0
  100. data/lib/faker/default/time.rb +102 -0
  101. data/lib/faker/default/twitter.rb +188 -0
  102. data/lib/faker/default/types.rb +101 -0
  103. data/lib/faker/default/university.rb +30 -0
  104. data/lib/faker/default/vehicle.rb +162 -0
  105. data/lib/faker/default/verb.rb +27 -0
  106. data/lib/faker/default/world_cup.rb +36 -0
  107. data/lib/faker/games/dota.rb +33 -0
  108. data/lib/faker/games/elder_scrolls.rb +41 -0
  109. data/lib/faker/games/fallout.rb +25 -0
  110. data/lib/faker/games/game.rb +21 -0
  111. data/lib/faker/games/half_life.rb +21 -0
  112. data/lib/faker/games/heroes.rb +21 -0
  113. data/lib/faker/games/heroes_of_the_storm.rb +25 -0
  114. data/lib/faker/games/league_of_legends.rb +33 -0
  115. data/lib/faker/games/myst.rb +29 -0
  116. data/lib/faker/games/overwatch.rb +21 -0
  117. data/lib/faker/games/pokemon.rb +21 -0
  118. data/lib/faker/games/sonic_the_hedgehog.rb +21 -0
  119. data/lib/faker/games/super_smash_bros.rb +17 -0
  120. data/lib/faker/games/witcher.rb +33 -0
  121. data/lib/faker/games/world_of_warcraft.rb +17 -0
  122. data/lib/faker/games/zelda.rb +26 -0
  123. data/lib/faker/japanese_media/dragon_ball.rb +13 -0
  124. data/lib/faker/japanese_media/one_piece.rb +33 -0
  125. data/lib/faker/japanese_media/sword_art_online.rb +25 -0
  126. data/lib/faker/movies/back_to_the_future.rb +21 -0
  127. data/lib/faker/movies/ghostbusters.rb +21 -0
  128. data/lib/faker/movies/harry_potter.rb +33 -0
  129. data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +37 -0
  130. data/lib/faker/movies/hobbit.rb +25 -0
  131. data/lib/faker/movies/lebowski.rb +21 -0
  132. data/lib/faker/movies/lord_of_the_rings.rb +21 -0
  133. data/lib/faker/movies/movie.rb +11 -0
  134. data/lib/faker/movies/princess_bride.rb +17 -0
  135. data/lib/faker/movies/star_wars.rb +107 -0
  136. data/lib/faker/movies/v_for_vendetta.rb +21 -0
  137. data/lib/faker/music/grateful_dead.rb +19 -0
  138. data/lib/faker/music/music.rb +47 -0
  139. data/lib/faker/music/opera.rb +26 -0
  140. data/lib/faker/music/phish.rb +13 -0
  141. data/lib/faker/music/rock_band.rb +13 -0
  142. data/lib/faker/music/umphreys_mcgee.rb +13 -0
  143. data/lib/faker/quotes/quote.rb +32 -0
  144. data/lib/faker/quotes/shakespeare.rb +41 -0
  145. data/lib/faker/sports/basketball.rb +25 -0
  146. data/lib/faker/sports/football.rb +29 -0
  147. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +15 -0
  148. data/lib/faker/tv_shows/bojack_horseman.rb +23 -0
  149. data/lib/faker/tv_shows/breaking_bad.rb +19 -0
  150. data/lib/faker/tv_shows/buffy.rb +31 -0
  151. data/lib/faker/tv_shows/community.rb +19 -0
  152. data/lib/faker/tv_shows/dr_who.rb +39 -0
  153. data/lib/faker/tv_shows/dumb_and_dumber.rb +23 -0
  154. data/lib/faker/tv_shows/family_guy.rb +23 -0
  155. data/lib/faker/tv_shows/friends.rb +23 -0
  156. data/lib/faker/tv_shows/game_of_thrones.rb +31 -0
  157. data/lib/faker/tv_shows/hey_arnold.rb +23 -0
  158. data/lib/faker/tv_shows/how_i_met_your_mother.rb +27 -0
  159. data/lib/faker/tv_shows/michael_scott.rb +13 -0
  160. data/lib/faker/tv_shows/new_girl.rb +19 -0
  161. data/lib/faker/tv_shows/parks_and_rec.rb +19 -0
  162. data/lib/faker/tv_shows/rick_and_morty.rb +23 -0
  163. data/lib/faker/tv_shows/ru_paul.rb +19 -0
  164. data/lib/faker/tv_shows/seinfeld.rb +23 -0
  165. data/lib/faker/tv_shows/silicon_valley.rb +43 -0
  166. data/lib/faker/tv_shows/simpsons.rb +23 -0
  167. data/lib/faker/tv_shows/south_park.rb +19 -0
  168. data/lib/faker/tv_shows/star_trek.rb +27 -0
  169. data/lib/faker/tv_shows/stargate.rb +23 -0
  170. data/lib/faker/tv_shows/stranger_things.rb +19 -0
  171. data/lib/faker/tv_shows/the_expanse.rb +27 -0
  172. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +23 -0
  173. data/lib/faker/tv_shows/the_it_crowd.rb +27 -0
  174. data/lib/faker/tv_shows/the_thick_of_it.rb +23 -0
  175. data/lib/faker/tv_shows/twin_peaks.rb +23 -0
  176. data/lib/faker/tv_shows/venture_bros.rb +27 -0
  177. data/lib/faker/version.rb +5 -0
  178. data/lib/helpers/base58.rb +22 -0
  179. data/lib/helpers/char.rb +66 -0
  180. data/lib/helpers/unique_generator.rb +56 -0
  181. data/lib/locales/README.md +40 -0
  182. data/lib/locales/ar.yml +102 -0
  183. data/lib/locales/bg.yml +44 -0
  184. data/lib/locales/ca-CAT.yml +24 -0
  185. data/lib/locales/ca.yml +31 -0
  186. data/lib/locales/da-DK.yml +73 -0
  187. data/lib/locales/de-AT.yml +56 -0
  188. data/lib/locales/de-CH.yml +19 -0
  189. data/lib/locales/de.yml +174 -0
  190. data/lib/locales/ee.yml +61 -0
  191. data/lib/locales/en-AU.yml +28 -0
  192. data/lib/locales/en-BORK.yml +4 -0
  193. data/lib/locales/en-CA.yml +36 -0
  194. data/lib/locales/en-GB.yml +14 -0
  195. data/lib/locales/en-IND.yml +25 -0
  196. data/lib/locales/en-MS.yml +47 -0
  197. data/lib/locales/en-NEP.yml +49 -0
  198. data/lib/locales/en-NG.yml +77 -0
  199. data/lib/locales/en-NZ.yml +39 -0
  200. data/lib/locales/en-PAK.yml +18 -0
  201. data/lib/locales/en-SG.yml +35 -0
  202. data/lib/locales/en-UG.yml +128 -0
  203. data/lib/locales/en-US.yml +103 -0
  204. data/lib/locales/en-ZA.yml +148 -0
  205. data/lib/locales/en-au-ocker.yml +33 -0
  206. data/lib/locales/en.yml +11 -0
  207. data/lib/locales/en/README.md +13 -0
  208. data/lib/locales/en/address.yml +581 -0
  209. data/lib/locales/en/ancient.yml +7 -0
  210. data/lib/locales/en/animal.yml +6 -0
  211. data/lib/locales/en/app.yml +8 -0
  212. data/lib/locales/en/appliance.yml +5 -0
  213. data/lib/locales/en/aqua_teen_hunger_force.yml +4 -0
  214. data/lib/locales/en/artist.yml +4 -0
  215. data/lib/locales/en/back_to_the_future.yml +120 -0
  216. data/lib/locales/en/bank.yml +302 -0
  217. data/lib/locales/en/basketball.yml +99 -0
  218. data/lib/locales/en/beer.yml +9 -0
  219. data/lib/locales/en/bojack_horseman.yml +6 -0
  220. data/lib/locales/en/book.yml +7 -0
  221. data/lib/locales/en/bossa_nova.yml +6 -0
  222. data/lib/locales/en/breaking_bad.yml +28 -0
  223. data/lib/locales/en/buffy.yml +260 -0
  224. data/lib/locales/en/business.yml +5 -0
  225. data/lib/locales/en/cannabis.yml +13 -0
  226. data/lib/locales/en/cat.yml +7 -0
  227. data/lib/locales/en/chuck_norris.yml +82 -0
  228. data/lib/locales/en/code.yml +4 -0
  229. data/lib/locales/en/coffee.yml +31 -0
  230. data/lib/locales/en/coin.yml +6 -0
  231. data/lib/locales/en/color.yml +4 -0
  232. data/lib/locales/en/commerce.yml +11 -0
  233. data/lib/locales/en/community.yml +33 -0
  234. data/lib/locales/en/company.yml +22 -0
  235. data/lib/locales/en/compass.yml +34 -0
  236. data/lib/locales/en/construction.yml +425 -0
  237. data/lib/locales/en/cosmere.yml +57 -0
  238. data/lib/locales/en/crypto_coin.yml +25 -0
  239. data/lib/locales/en/culture_series.yml +307 -0
  240. data/lib/locales/en/currency.yml +6 -0
  241. data/lib/locales/en/dc_comics.yml +52 -0
  242. data/lib/locales/en/demographic.yml +8 -0
  243. data/lib/locales/en/dessert.yml +6 -0
  244. data/lib/locales/en/device.yml +7 -0
  245. data/lib/locales/en/dog.yml +11 -0
  246. data/lib/locales/en/dota.yml +105 -0
  247. data/lib/locales/en/dr_who.yml +96 -0
  248. data/lib/locales/en/dragon_ball.yml +4 -0
  249. data/lib/locales/en/dumb_and_dumber.yml +59 -0
  250. data/lib/locales/en/dune.yml +159 -0
  251. data/lib/locales/en/educator.yml +11 -0
  252. data/lib/locales/en/elder_scrolls.yml +11 -0
  253. data/lib/locales/en/electrical_components.yml +6 -0
  254. data/lib/locales/en/esport.yml +8 -0
  255. data/lib/locales/en/fallout.yml +137 -0
  256. data/lib/locales/en/family_guy.yml +7 -0
  257. data/lib/locales/en/file.yml +5 -0
  258. data/lib/locales/en/finance.yml +113 -0
  259. data/lib/locales/en/food.yml +13 -0
  260. data/lib/locales/en/football.yml +8 -0
  261. data/lib/locales/en/fresh_prince_of_bel_air.yml +73 -0
  262. data/lib/locales/en/friends.yml +6 -0
  263. data/lib/locales/en/funny_name.yml +4 -0
  264. data/lib/locales/en/game.yml +283 -0
  265. data/lib/locales/en/game_of_thrones.yml +8 -0
  266. data/lib/locales/en/gender.yml +5 -0
  267. data/lib/locales/en/ghostbusters.yml +91 -0
  268. data/lib/locales/en/grateful_dead.yml +48 -0
  269. data/lib/locales/en/greek_philosophers.yml +26 -0
  270. data/lib/locales/en/hacker.yml +8 -0
  271. data/lib/locales/en/half_life.yml +7 -0
  272. data/lib/locales/en/harry_potter.yml +9 -0
  273. data/lib/locales/en/heroes.yml +6 -0
  274. data/lib/locales/en/heroes_of_the_storm.yml +7 -0
  275. data/lib/locales/en/hey_arnold.yml +24 -0
  276. data/lib/locales/en/hipster.yml +4 -0
  277. data/lib/locales/en/hitchhikers_guide_to_the_galaxy.yml +45 -0
  278. data/lib/locales/en/hobbit.yml +19 -0
  279. data/lib/locales/en/horse.yml +6 -0
  280. data/lib/locales/en/house.yml +5 -0
  281. data/lib/locales/en/how_i_met_your_mother.yml +28 -0
  282. data/lib/locales/en/id_number.yml +5 -0
  283. data/lib/locales/en/industry_segments.yml +7 -0
  284. data/lib/locales/en/internet.yml +21 -0
  285. data/lib/locales/en/invoice.yml +6 -0
  286. data/lib/locales/en/job.yml +15 -0
  287. data/lib/locales/en/kpop.yml +83 -0
  288. data/lib/locales/en/league_of_legends.yml +10 -0
  289. data/lib/locales/en/lebowski.yml +43 -0
  290. data/lib/locales/en/lord_of_the_rings.yml +6 -0
  291. data/lib/locales/en/lorem.yml +11 -0
  292. data/lib/locales/en/lovecraft.yml +9 -0
  293. data/lib/locales/en/markdown.yml +5 -0
  294. data/lib/locales/en/marketing.yml +4 -0
  295. data/lib/locales/en/measurement.yml +11 -0
  296. data/lib/locales/en/michael_scott.yml +45 -0
  297. data/lib/locales/en/military.yml +8 -0
  298. data/lib/locales/en/movie.yml +5 -0
  299. data/lib/locales/en/music.yml +32 -0
  300. data/lib/locales/en/myst.yml +48 -0
  301. data/lib/locales/en/name.yml +25 -0
  302. data/lib/locales/en/nation.yml +11 -0
  303. data/lib/locales/en/nato_phonetic_alphabet.yml +4 -0
  304. data/lib/locales/en/new_girl.yml +40 -0
  305. data/lib/locales/en/one_piece.yml +9 -0
  306. data/lib/locales/en/opera.yml +172 -0
  307. data/lib/locales/en/overwatch.yml +41 -0
  308. data/lib/locales/en/parks_and_rec.yml +7 -0
  309. data/lib/locales/en/phish.yml +4 -0
  310. data/lib/locales/en/phone_number.yml +7 -0
  311. data/lib/locales/en/pokemon.yml +8 -0
  312. data/lib/locales/en/princess_bride.yml +5 -0
  313. data/lib/locales/en/programming_language.yml +6 -0
  314. data/lib/locales/en/quote.yml +166 -0
  315. data/lib/locales/en/relationship.yml +10 -0
  316. data/lib/locales/en/restaurant.yml +129 -0
  317. data/lib/locales/en/rick_and_morty.yml +6 -0
  318. data/lib/locales/en/rock_band.yml +4 -0
  319. data/lib/locales/en/rupaul.yml +125 -0
  320. data/lib/locales/en/science.yml +6 -0
  321. data/lib/locales/en/seinfeld.yml +6 -0
  322. data/lib/locales/en/shakespeare.yml +56 -0
  323. data/lib/locales/en/silicon_valley.yml +53 -0
  324. data/lib/locales/en/simpsons.yml +26 -0
  325. data/lib/locales/en/slack_emoji.yml +20 -0
  326. data/lib/locales/en/sonic_the_hedgehog.yml +410 -0
  327. data/lib/locales/en/source.yml +16 -0
  328. data/lib/locales/en/south_park.yml +5 -0
  329. data/lib/locales/en/space.yml +17 -0
  330. data/lib/locales/en/star_trek.yml +7 -0
  331. data/lib/locales/en/star_wars.yml +258 -0
  332. data/lib/locales/en/stargate.yml +21 -0
  333. data/lib/locales/en/stranger_thing.yml +36 -0
  334. data/lib/locales/en/stripe.yml +42 -0
  335. data/lib/locales/en/subscription.yml +8 -0
  336. data/lib/locales/en/super_smash_bros.yml +205 -0
  337. data/lib/locales/en/superhero.yml +12 -0
  338. data/lib/locales/en/sword_art_online.yml +334 -0
  339. data/lib/locales/en/team.yml +8 -0
  340. data/lib/locales/en/the_expanse.yml +7 -0
  341. data/lib/locales/en/the_it_crowd.yml +155 -0
  342. data/lib/locales/en/the_thick_of_it.yml +6 -0
  343. data/lib/locales/en/twin_peaks.yml +6 -0
  344. data/lib/locales/en/umphreys_mcgee.yml +4 -0
  345. data/lib/locales/en/university.yml +10 -0
  346. data/lib/locales/en/v_for_vendetta.yml +163 -0
  347. data/lib/locales/en/vehicle.yml +80 -0
  348. data/lib/locales/en/venture_bros.yml +7 -0
  349. data/lib/locales/en/verbs.yml +8 -0
  350. data/lib/locales/en/witcher.yml +11 -0
  351. data/lib/locales/en/world_cup.yml +271 -0
  352. data/lib/locales/en/world_of_warcraft.yml +8 -0
  353. data/lib/locales/en/yoda.yml +4 -0
  354. data/lib/locales/en/zelda.yml +8 -0
  355. data/lib/locales/es-MX.yml +102 -0
  356. data/lib/locales/es.yml +94 -0
  357. data/lib/locales/fa.yml +10 -0
  358. data/lib/locales/fi-FI.yml +35 -0
  359. data/lib/locales/fr-CA.yml +90 -0
  360. data/lib/locales/fr-CH.yml +78 -0
  361. data/lib/locales/fr.yml +114 -0
  362. data/lib/locales/he.yml +27 -0
  363. data/lib/locales/hy.yml +416 -0
  364. data/lib/locales/id.yml +23 -0
  365. data/lib/locales/it.yml +70 -0
  366. data/lib/locales/ja.yml +98 -0
  367. data/lib/locales/ko.yml +40 -0
  368. data/lib/locales/lv.yml +55 -0
  369. data/lib/locales/nb-NO.yml +62 -0
  370. data/lib/locales/nl.yml +92 -0
  371. data/lib/locales/no.yml +7 -0
  372. data/lib/locales/pl.yml +77 -0
  373. data/lib/locales/pt-BR.yml +697 -0
  374. data/lib/locales/pt.yml +66 -0
  375. data/lib/locales/ru.yml +76 -0
  376. data/lib/locales/sk.yml +78 -0
  377. data/lib/locales/sv.yml +81 -0
  378. data/lib/locales/tr.yml +40 -0
  379. data/lib/locales/uk.yml +86 -0
  380. data/lib/locales/vi.yml +68 -0
  381. data/lib/locales/zh-CN.yml +56 -0
  382. data/lib/locales/zh-TW.yml +29 -0
  383. metadata +543 -0
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class ProgrammingLanguage < Base
5
+ class << self
6
+ def name
7
+ fetch('programming_language.name')
8
+ end
9
+
10
+ def creator
11
+ fetch('programming_language.creator')
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Relationship < Base
5
+ flexible :relationship
6
+
7
+ class << self
8
+ def familial(legacy_connection = NOT_GIVEN, connection: nil)
9
+ warn_for_deprecated_arguments do |keywords|
10
+ keywords << :connection if legacy_connection != NOT_GIVEN
11
+ end
12
+
13
+ familial_connections = translate('faker.relationship.familial').keys
14
+
15
+ if connection.nil?
16
+ connection = sample(familial_connections).to_s
17
+ else
18
+ connection = connection.to_s.downcase
19
+
20
+ unless familial_connections.include?(connection.to_sym)
21
+ raise ArgumentError,
22
+ "Familial connections can be left blank or #{familial_connections.join(', ')}"
23
+ end
24
+ end
25
+
26
+ fetch('relationship.familial.' + connection)
27
+ end
28
+
29
+ def in_law
30
+ fetch('relationship.in_law')
31
+ end
32
+
33
+ def spouse
34
+ fetch('relationship.spouse')
35
+ end
36
+
37
+ def parent
38
+ fetch('relationship.parent')
39
+ end
40
+
41
+ def sibling
42
+ fetch('relationship.sibling')
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Restaurant < Base
5
+ flexible :restaurant
6
+
7
+ def self.name
8
+ bothify(parse('restaurant.name'))
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Science < Base
5
+ class << self
6
+ def element
7
+ fetch('science.element')
8
+ end
9
+
10
+ def element_symbol
11
+ fetch('science.element_symbol')
12
+ end
13
+
14
+ def scientist
15
+ fetch('science.scientist')
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class SlackEmoji < Base
5
+ class << self
6
+ def people
7
+ fetch('slack_emoji.people')
8
+ end
9
+
10
+ def nature
11
+ fetch('slack_emoji.nature')
12
+ end
13
+
14
+ def food_and_drink
15
+ fetch('slack_emoji.food_and_drink')
16
+ end
17
+
18
+ def celebration
19
+ fetch('slack_emoji.celebration')
20
+ end
21
+
22
+ def activity
23
+ fetch('slack_emoji.activity')
24
+ end
25
+
26
+ def travel_and_places
27
+ fetch('slack_emoji.travel_and_places')
28
+ end
29
+
30
+ def objects_and_symbols
31
+ fetch('slack_emoji.objects_and_symbols')
32
+ end
33
+
34
+ def custom
35
+ fetch('slack_emoji.custom')
36
+ end
37
+
38
+ def emoji
39
+ parse('slack_emoji.emoji')
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Source < Base
5
+ class << self
6
+ def hello_world(legacy_lang = NOT_GIVEN, lang: :ruby)
7
+ warn_for_deprecated_arguments do |keywords|
8
+ keywords << :lang if legacy_lang != NOT_GIVEN
9
+ end
10
+
11
+ fetch("source.hello_world.#{lang}")
12
+ end
13
+
14
+ def print(legacy_str = NOT_GIVEN, legacy_lang = NOT_GIVEN, str: 'some string', lang: :ruby)
15
+ warn_for_deprecated_arguments do |keywords|
16
+ keywords << :str if legacy_str != NOT_GIVEN
17
+ end
18
+ warn_for_deprecated_arguments do |keywords|
19
+ keywords << :lang if legacy_lang != NOT_GIVEN
20
+ end
21
+
22
+ code = fetch("source.print.#{lang}")
23
+ code.gsub('faker_string_to_print', str)
24
+ end
25
+
26
+ def print_1_to_10(legacy_lang = NOT_GIVEN, lang: :ruby)
27
+ warn_for_deprecated_arguments do |keywords|
28
+ keywords << :lang if legacy_lang != NOT_GIVEN
29
+ end
30
+
31
+ fetch("source.print_1_to_10.#{lang}")
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class SouthAfrica < Base
5
+ class << self
6
+ def id_number
7
+ Faker::IDNumber.south_african_id_number
8
+ end
9
+
10
+ def valid_id_number
11
+ Faker::IDNumber.valid_south_african_id_number
12
+ end
13
+
14
+ def invalid_id_number
15
+ Faker::IDNumber.invalid_south_african_id_number
16
+ end
17
+
18
+ def phone_number
19
+ with_locale 'en-ZA' do
20
+ Faker::PhoneNumber.phone_number
21
+ end
22
+ end
23
+
24
+ def cell_phone
25
+ with_locale 'en-ZA' do
26
+ Faker::PhoneNumber.cell_phone
27
+ end
28
+ end
29
+
30
+ def pty_ltd_registration_number
31
+ Faker::Company.south_african_pty_ltd_registration_number
32
+ end
33
+
34
+ def close_corporation_registration_number
35
+ Faker::Company.south_african_close_corporation_registration_number
36
+ end
37
+
38
+ def listed_company_registration_number
39
+ Faker::Company.south_african_listed_company_registration_number
40
+ end
41
+
42
+ def trust_registration_number
43
+ Faker::Company.south_african_trust_registration_number
44
+ end
45
+
46
+ def vat_number
47
+ Faker::Finance.vat_number(country: 'ZA')
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Space < Base
5
+ flexible :space
6
+ class << self
7
+ def planet
8
+ fetch('space.planet')
9
+ end
10
+
11
+ def moon
12
+ fetch('space.moon')
13
+ end
14
+
15
+ def galaxy
16
+ fetch('space.galaxy')
17
+ end
18
+
19
+ def nebula
20
+ fetch('space.nebula')
21
+ end
22
+
23
+ def star_cluster
24
+ fetch('space.star_cluster')
25
+ end
26
+
27
+ def constellation
28
+ fetch('space.constellation')
29
+ end
30
+
31
+ def star
32
+ fetch('space.star')
33
+ end
34
+
35
+ def agency
36
+ fetch('space.agency')
37
+ end
38
+
39
+ def agency_abv
40
+ fetch('space.agency_abv')
41
+ end
42
+
43
+ def nasa_space_craft
44
+ fetch('space.nasa_space_craft')
45
+ end
46
+
47
+ def company
48
+ fetch('space.company')
49
+ end
50
+
51
+ def distance_measurement
52
+ rand(10..100).to_s + ' ' + fetch('space.distance_measurement')
53
+ end
54
+
55
+ def meteorite
56
+ fetch('space.meteorite')
57
+ end
58
+
59
+ def launch_vehicle
60
+ fetch('space.launch_vehicle')
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class String < Base
5
+ class << self
6
+ def random(legacy_length = NOT_GIVEN, length: 32)
7
+ warn_for_deprecated_arguments do |keywords|
8
+ keywords << :length if legacy_length != NOT_GIVEN
9
+ end
10
+
11
+ utf8string select_a length
12
+ end
13
+
14
+ private
15
+
16
+ def select_a(length)
17
+ if length.class.included_modules.include? Enumerable
18
+ select_a sample(length.to_enum.to_a)
19
+ else
20
+ length # recursive base case
21
+ end
22
+ end
23
+
24
+ def utf8string(length)
25
+ ratio = char_space_ratio
26
+ (1..length.to_i).map do
27
+ space_or_utf8_char ratio
28
+ end.join
29
+ end
30
+
31
+ def space_or_utf8_char(ratio)
32
+ sample [32.chr(Encoding::UTF_8), [utf8character] * ratio].flatten
33
+ end
34
+
35
+ def char_space_ratio
36
+ sample [2, [3] * 5, [5] * 17, [7] * 11, 11, 191].flatten
37
+ end
38
+
39
+ def utf8character
40
+ sample([
41
+ rand(32..90), # latin alphabet
42
+ rand(128), # 7-bit ASCII
43
+ rand(0xd800), # utf-8 codepoints below utf-16 surrogate halves
44
+ rand(57_344..1_114_111) # utf-8 codepoints above utf-16 surrogate halves
45
+ ]).chr(Encoding::UTF_8)
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Stripe < Base
5
+ class << self
6
+ def valid_card(legacy_card_type = NOT_GIVEN, card_type: nil)
7
+ warn_for_deprecated_arguments do |keywords|
8
+ keywords << :card_type if legacy_card_type != NOT_GIVEN
9
+ end
10
+
11
+ valid_cards = translate('faker.stripe.valid_cards').keys
12
+
13
+ if card_type.nil?
14
+ card_type = sample(valid_cards).to_s
15
+ else
16
+ unless valid_cards.include?(card_type.to_sym)
17
+ raise ArgumentError,
18
+ "Valid credit cards argument can be left blank or include #{valid_cards.join(', ')}"
19
+ end
20
+ end
21
+
22
+ fetch('stripe.valid_cards.' + card_type)
23
+ end
24
+
25
+ def valid_token(legacy_card_type = NOT_GIVEN, card_type: nil)
26
+ warn_for_deprecated_arguments do |keywords|
27
+ keywords << :card_type if legacy_card_type != NOT_GIVEN
28
+ end
29
+
30
+ valid_tokens = translate('faker.stripe.valid_tokens').keys
31
+
32
+ if card_type.nil?
33
+ card_type = sample(valid_tokens).to_s
34
+ else
35
+ unless valid_tokens.include?(card_type.to_sym)
36
+ raise ArgumentError,
37
+ "Valid credit cards argument can be left blank or include #{valid_tokens.join(', ')}"
38
+ end
39
+ end
40
+
41
+ fetch('stripe.valid_tokens.' + card_type)
42
+ end
43
+
44
+ def invalid_card(legacy_card_error = NOT_GIVEN, card_error: nil)
45
+ warn_for_deprecated_arguments do |keywords|
46
+ keywords << :card_error if legacy_card_error != NOT_GIVEN
47
+ end
48
+
49
+ invalid_cards = translate('faker.stripe.invalid_cards').keys
50
+
51
+ if card_error.nil?
52
+ card_error = sample(invalid_cards).to_s
53
+ else
54
+ unless invalid_cards.include?(card_error.to_sym)
55
+ raise ArgumentError,
56
+ "Invalid credit cards argument can be left blank or include #{invalid_cards.join(', ')}"
57
+ end
58
+ end
59
+
60
+ fetch('stripe.invalid_cards.' + card_error)
61
+ end
62
+
63
+ def month
64
+ format('%02d', rand_in_range(1, 12))
65
+ end
66
+
67
+ def year
68
+ start_year = ::Time.new.year + 1
69
+ rand_in_range(start_year, start_year + 5).to_s
70
+ end
71
+
72
+ def ccv(legacy_card_type = NOT_GIVEN, card_type: nil)
73
+ warn_for_deprecated_arguments do |keywords|
74
+ keywords << :card_type if legacy_card_type != NOT_GIVEN
75
+ end
76
+
77
+ (card_type.to_s == 'amex' ? rand_in_range(1000, 9999) : rand_in_range(100, 999)).to_s
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Subscription < Base
5
+ def self.plan
6
+ fetch('subscription.plans')
7
+ end
8
+
9
+ def self.status
10
+ fetch('subscription.statuses')
11
+ end
12
+
13
+ def self.payment_method
14
+ fetch('subscription.payment_methods')
15
+ end
16
+
17
+ def self.subscription_term
18
+ fetch('subscription.subscription_terms')
19
+ end
20
+
21
+ def self.payment_term
22
+ fetch('subscription.payment_terms')
23
+ end
24
+ end
25
+ end