faker 2.7.0

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 (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,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Placeholdit < Base
5
+ class << self
6
+ SUPPORTED_FORMATS = %w[png jpg gif jpeg].freeze
7
+
8
+ # rubocop:disable Metrics/ParameterLists
9
+ def image(legacy_size = NOT_GIVEN, legacy_format = NOT_GIVEN, legacy_background_color = NOT_GIVEN, legacy_text_color = NOT_GIVEN, legacy_text = NOT_GIVEN, size: '300x300', format: 'png', background_color: nil, text_color: nil, text: nil)
10
+ # rubocop:enable Metrics/ParameterLists
11
+ warn_for_deprecated_arguments do |keywords|
12
+ keywords << :size if legacy_size != NOT_GIVEN
13
+ keywords << :format if legacy_format != NOT_GIVEN
14
+ keywords << :background_color if legacy_background_color != NOT_GIVEN
15
+ keywords << :text_color if legacy_text_color != NOT_GIVEN
16
+ keywords << :text if legacy_text != NOT_GIVEN
17
+ end
18
+
19
+ background_color = generate_color if background_color == :random
20
+ text_color = generate_color if text_color == :random
21
+
22
+ raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
23
+ raise ArgumentError, "Supported formats are #{SUPPORTED_FORMATS.join(', ')}" unless SUPPORTED_FORMATS.include?(format)
24
+ raise ArgumentError, "background_color must be a hex value without '#'" unless background_color.nil? || background_color =~ /((?:^\h{3}$)|(?:^\h{6}$)){1}(?!.*\H)/
25
+ raise ArgumentError, "text_color must be a hex value without '#'" unless text_color.nil? || text_color =~ /((?:^\h{3}$)|(?:^\h{6}$)){1}(?!.*\H)/
26
+
27
+ image_url = "https://placehold.it/#{size}.#{format}"
28
+ image_url += "/#{background_color}" if background_color
29
+ image_url += "/#{text_color}" if text_color
30
+ image_url += "?text=#{text}" if text
31
+ image_url
32
+ end
33
+
34
+ private
35
+
36
+ def generate_color
37
+ format('%06x', (rand * 0xffffff))
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class ProgrammingLanguage < Base
5
+ class << self
6
+ ##
7
+ # Produces the name of a programming language.
8
+ #
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # Faker::ProgrammingLanguage.name #=> "Ruby"
13
+ #
14
+ # @faker.version 1.8.5
15
+ def name
16
+ fetch('programming_language.name')
17
+ end
18
+
19
+ ##
20
+ # Produces the name of a programming language's creator.
21
+ #
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::ProgrammingLanguage.creator #=> "Yukihiro Matsumoto"
26
+ #
27
+ # @faker.version 1.8.5
28
+ def creator
29
+ fetch('programming_language.creator')
30
+ end
31
+ end
32
+ end
33
+ 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,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Restaurant < Base
5
+ flexible :restaurant
6
+
7
+ class << self
8
+ ##
9
+ # Produces the name of a restaurant.
10
+ #
11
+ # @return [String]
12
+ #
13
+ # @example
14
+ # Faker::Restaurant.name #=> "Curry King"
15
+ #
16
+ # @faker.version 1.9.2
17
+ def name
18
+ bothify(parse('restaurant.name'))
19
+ end
20
+
21
+ ##
22
+ # Produces a type of restaurant.
23
+ #
24
+ # @return [String]
25
+ #
26
+ # @example
27
+ # Faker::Restaurant.type #=> "Comfort Food"
28
+ #
29
+ # @faker.version 1.9.2
30
+ def type
31
+ fetch('restaurant.type')
32
+ end
33
+
34
+ ##
35
+ # Produces a description of a restaurant.
36
+ #
37
+ # @return [String]
38
+ #
39
+ # @example
40
+ # Faker::Restaurant.description
41
+ # #=> "We are committed to using the finest ingredients in our recipes. No food leaves our kitchen that we ourselves would not eat."
42
+ #
43
+ # @faker.version 1.9.2
44
+ def description
45
+ fetch('restaurant.description')
46
+ end
47
+
48
+ ##
49
+ # Produces a review for a restaurant.
50
+ #
51
+ # @return [String]
52
+ #
53
+ # @example
54
+ # Faker::Restaurant.review
55
+ # #=> "Brand new. Great design. Odd to hear pop music in a Mexican establishment. Music is a bit loud. It should be background."
56
+ #
57
+ # @faker.version 1.9.2
58
+ def review
59
+ fetch('restaurant.review')
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Science < Base
5
+ class << self
6
+ ##
7
+ # Produces the name of a element.
8
+ #
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # Faker::Science.element #=> "Carbon"
13
+ #
14
+ # @faker.version 1.8.5
15
+ def element
16
+ fetch('science.element')
17
+ end
18
+
19
+ ##
20
+ # Produces the symbol of an element.
21
+ #
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::Science.element_symbol #=> "Pb"
26
+ #
27
+ # @faker.version 1.9.0
28
+ def element_symbol
29
+ fetch('science.element_symbol')
30
+ end
31
+
32
+ ##
33
+ # Produces the name of a scientist.
34
+ #
35
+ # @return [String]
36
+ #
37
+ # @example
38
+ # Faker::Science.scientist #=> "Isaac Newton"
39
+ #
40
+ # @faker.version 1.8.5
41
+ def scientist
42
+ fetch('science.scientist')
43
+ end
44
+ end
45
+ end
46
+ 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,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Source < Base
5
+ class << self
6
+ ##
7
+ # Produces source code for Hello World in a given language.
8
+ #
9
+ # @param lang [Symbol] The programming language to use
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Source.hello_world #=> "puts 'Hello World!'"
14
+ #
15
+ # @example
16
+ # Faker::Source.hello_world(lang: :javascript)
17
+ # #=> "alert('Hello World!');"
18
+ #
19
+ # @faker.version 1.9.0
20
+ def hello_world(legacy_lang = NOT_GIVEN, lang: :ruby)
21
+ warn_for_deprecated_arguments do |keywords|
22
+ keywords << :lang if legacy_lang != NOT_GIVEN
23
+ end
24
+
25
+ fetch("source.hello_world.#{lang}")
26
+ end
27
+
28
+ ##
29
+ # Produces source code for printing a string in a given language.
30
+ #
31
+ # @param str [String] The string to print
32
+ # @param lang [Symbol] The programming language to use
33
+ # @return [String]
34
+ #
35
+ # @example
36
+ # Faker::Source.print #=> "puts 'faker_string_to_print'"
37
+ # @example
38
+ # Faker::Source.print(str: 'foo bar', lang: :javascript)
39
+ # #=> "console.log('foo bar');"
40
+ #
41
+ # @faker.version 1.9.0
42
+ def print(legacy_str = NOT_GIVEN, legacy_lang = NOT_GIVEN, str: 'some string', lang: :ruby)
43
+ warn_for_deprecated_arguments do |keywords|
44
+ keywords << :str if legacy_str != NOT_GIVEN
45
+ end
46
+ warn_for_deprecated_arguments do |keywords|
47
+ keywords << :lang if legacy_lang != NOT_GIVEN
48
+ end
49
+ code = fetch("source.print.#{lang}")
50
+ code.gsub('faker_string_to_print', str)
51
+ end
52
+
53
+ ##
54
+ # Produces source code for printing 1 through 10 in a given language.
55
+ #
56
+ # @param lang [Symbol] The programming language to use
57
+ # @return [String]
58
+ #
59
+ # @example
60
+ # Faker::Source.print_1_to_10 #=> "(1..10).each { |i| puts i }"
61
+ # @example
62
+ # Faker::Source.print_1_to_10(lang: :javascript)
63
+ # # => "for (let i=0; i<10; i++) {
64
+ # # console.log(i);
65
+ # # }"
66
+ #
67
+ # @faker.version 1.9.0
68
+ def print_1_to_10(legacy_lang = NOT_GIVEN, lang: :ruby)
69
+ warn_for_deprecated_arguments do |keywords|
70
+ keywords << :lang if legacy_lang != NOT_GIVEN
71
+ end
72
+ fetch("source.print_1_to_10.#{lang}")
73
+ end
74
+ end
75
+ end
76
+ 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