mega-pro-pkg 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. checksums.yaml +7 -0
  2. data/faker-3.8.0/CHANGELOG.md +3068 -0
  3. data/faker-3.8.0/License.txt +20 -0
  4. data/faker-3.8.0/README.md +197 -0
  5. data/faker-3.8.0/bin/faker +5 -0
  6. data/faker-3.8.0/lib/faker/blockchain/aeternity.rb +70 -0
  7. data/faker-3.8.0/lib/faker/blockchain/bitcoin.rb +59 -0
  8. data/faker-3.8.0/lib/faker/blockchain/ethereum.rb +26 -0
  9. data/faker-3.8.0/lib/faker/blockchain/tezos.rb +134 -0
  10. data/faker-3.8.0/lib/faker/blockchain.rb +9 -0
  11. data/faker-3.8.0/lib/faker/books/culture_series.rb +83 -0
  12. data/faker-3.8.0/lib/faker/books/dune.rb +124 -0
  13. data/faker-3.8.0/lib/faker/books/lovecraft.rb +248 -0
  14. data/faker-3.8.0/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
  15. data/faker-3.8.0/lib/faker/books.rb +9 -0
  16. data/faker-3.8.0/lib/faker/creature/animal.rb +22 -0
  17. data/faker-3.8.0/lib/faker/creature/bird.rb +203 -0
  18. data/faker-3.8.0/lib/faker/creature/cat.rb +50 -0
  19. data/faker-3.8.0/lib/faker/creature/dog.rb +115 -0
  20. data/faker-3.8.0/lib/faker/creature/horse.rb +37 -0
  21. data/faker-3.8.0/lib/faker/creature.rb +9 -0
  22. data/faker-3.8.0/lib/faker/default/address.rb +348 -0
  23. data/faker-3.8.0/lib/faker/default/adjective.rb +35 -0
  24. data/faker-3.8.0/lib/faker/default/alphanumeric.rb +67 -0
  25. data/faker-3.8.0/lib/faker/default/ancient.rb +59 -0
  26. data/faker-3.8.0/lib/faker/default/app.rb +68 -0
  27. data/faker-3.8.0/lib/faker/default/appliance.rb +33 -0
  28. data/faker-3.8.0/lib/faker/default/artist.rb +20 -0
  29. data/faker-3.8.0/lib/faker/default/avatar.rb +49 -0
  30. data/faker-3.8.0/lib/faker/default/bank.rb +195 -0
  31. data/faker-3.8.0/lib/faker/default/barcode.rb +165 -0
  32. data/faker-3.8.0/lib/faker/default/beer.rb +113 -0
  33. data/faker-3.8.0/lib/faker/default/blood.rb +48 -0
  34. data/faker-3.8.0/lib/faker/default/book.rb +61 -0
  35. data/faker-3.8.0/lib/faker/default/boolean.rb +24 -0
  36. data/faker-3.8.0/lib/faker/default/business.rb +50 -0
  37. data/faker-3.8.0/lib/faker/default/camera.rb +46 -0
  38. data/faker-3.8.0/lib/faker/default/cannabis.rb +135 -0
  39. data/faker-3.8.0/lib/faker/default/chile_rut.rb +98 -0
  40. data/faker-3.8.0/lib/faker/default/chuck_norris.rb +25 -0
  41. data/faker-3.8.0/lib/faker/default/code.rb +315 -0
  42. data/faker-3.8.0/lib/faker/default/coffee.rb +82 -0
  43. data/faker-3.8.0/lib/faker/default/coin.rb +33 -0
  44. data/faker-3.8.0/lib/faker/default/color.rb +150 -0
  45. data/faker-3.8.0/lib/faker/default/commerce.rb +157 -0
  46. data/faker-3.8.0/lib/faker/default/company.rb +678 -0
  47. data/faker-3.8.0/lib/faker/default/compass.rb +202 -0
  48. data/faker-3.8.0/lib/faker/default/computer.rb +63 -0
  49. data/faker-3.8.0/lib/faker/default/construction.rb +83 -0
  50. data/faker-3.8.0/lib/faker/default/cosmere.rb +138 -0
  51. data/faker-3.8.0/lib/faker/default/crypto.rb +68 -0
  52. data/faker-3.8.0/lib/faker/default/crypto_coin.rb +82 -0
  53. data/faker-3.8.0/lib/faker/default/currency.rb +46 -0
  54. data/faker-3.8.0/lib/faker/default/date.rb +209 -0
  55. data/faker-3.8.0/lib/faker/default/dc_comics.rb +70 -0
  56. data/faker-3.8.0/lib/faker/default/demographic.rb +94 -0
  57. data/faker-3.8.0/lib/faker/default/dessert.rb +48 -0
  58. data/faker-3.8.0/lib/faker/default/device.rb +85 -0
  59. data/faker-3.8.0/lib/faker/default/driving_licence.rb +132 -0
  60. data/faker-3.8.0/lib/faker/default/drone.rb +332 -0
  61. data/faker-3.8.0/lib/faker/default/educator.rb +102 -0
  62. data/faker-3.8.0/lib/faker/default/electrical_components.rb +48 -0
  63. data/faker-3.8.0/lib/faker/default/emotion.rb +33 -0
  64. data/faker-3.8.0/lib/faker/default/esport.rb +72 -0
  65. data/faker-3.8.0/lib/faker/default/file.rb +81 -0
  66. data/faker-3.8.0/lib/faker/default/finance.rb +112 -0
  67. data/faker-3.8.0/lib/faker/default/food.rb +139 -0
  68. data/faker-3.8.0/lib/faker/default/funny_name.rb +90 -0
  69. data/faker-3.8.0/lib/faker/default/game.rb +48 -0
  70. data/faker-3.8.0/lib/faker/default/gender.rb +46 -0
  71. data/faker-3.8.0/lib/faker/default/greek_philosophers.rb +33 -0
  72. data/faker-3.8.0/lib/faker/default/hacker.rb +103 -0
  73. data/faker-3.8.0/lib/faker/default/hipster.rb +154 -0
  74. data/faker-3.8.0/lib/faker/default/hobby.rb +22 -0
  75. data/faker-3.8.0/lib/faker/default/house.rb +33 -0
  76. data/faker-3.8.0/lib/faker/default/html.rb +230 -0
  77. data/faker-3.8.0/lib/faker/default/id_number.rb +424 -0
  78. data/faker-3.8.0/lib/faker/default/industry_segments.rb +61 -0
  79. data/faker-3.8.0/lib/faker/default/invoice.rb +123 -0
  80. data/faker-3.8.0/lib/faker/default/job.rb +61 -0
  81. data/faker-3.8.0/lib/faker/default/json.rb +130 -0
  82. data/faker-3.8.0/lib/faker/default/kpop.rb +85 -0
  83. data/faker-3.8.0/lib/faker/default/lorem.rb +253 -0
  84. data/faker-3.8.0/lib/faker/default/lorem_flickr.rb +110 -0
  85. data/faker-3.8.0/lib/faker/default/markdown.rb +170 -0
  86. data/faker-3.8.0/lib/faker/default/marketing.rb +22 -0
  87. data/faker-3.8.0/lib/faker/default/measurement.rb +175 -0
  88. data/faker-3.8.0/lib/faker/default/military.rb +98 -0
  89. data/faker-3.8.0/lib/faker/default/mountain.rb +33 -0
  90. data/faker-3.8.0/lib/faker/default/movie.rb +33 -0
  91. data/faker-3.8.0/lib/faker/default/name.rb +152 -0
  92. data/faker-3.8.0/lib/faker/default/nation.rb +73 -0
  93. data/faker-3.8.0/lib/faker/default/national_health_service.rb +57 -0
  94. data/faker-3.8.0/lib/faker/default/nato_phonetic_alphabet.rb +20 -0
  95. data/faker-3.8.0/lib/faker/default/number.rb +244 -0
  96. data/faker-3.8.0/lib/faker/default/omniauth.rb +471 -0
  97. data/faker-3.8.0/lib/faker/default/phone_number.rb +152 -0
  98. data/faker-3.8.0/lib/faker/default/placeholdit.rb +52 -0
  99. data/faker-3.8.0/lib/faker/default/programming_language.rb +33 -0
  100. data/faker-3.8.0/lib/faker/default/quote.rb +124 -0
  101. data/faker-3.8.0/lib/faker/default/relationship.rb +87 -0
  102. data/faker-3.8.0/lib/faker/default/restaurant.rb +63 -0
  103. data/faker-3.8.0/lib/faker/default/science.rb +154 -0
  104. data/faker-3.8.0/lib/faker/default/slack_emoji.rb +124 -0
  105. data/faker-3.8.0/lib/faker/default/source.rb +63 -0
  106. data/faker-3.8.0/lib/faker/default/south_africa.rb +141 -0
  107. data/faker-3.8.0/lib/faker/default/space.rb +191 -0
  108. data/faker-3.8.0/lib/faker/default/sport.rb +116 -0
  109. data/faker-3.8.0/lib/faker/default/string.rb +59 -0
  110. data/faker-3.8.0/lib/faker/default/stripe.rb +126 -0
  111. data/faker-3.8.0/lib/faker/default/subscription.rb +70 -0
  112. data/faker-3.8.0/lib/faker/default/superhero.rb +72 -0
  113. data/faker-3.8.0/lib/faker/default/tea.rb +41 -0
  114. data/faker-3.8.0/lib/faker/default/team.rb +74 -0
  115. data/faker-3.8.0/lib/faker/default/theater.rb +49 -0
  116. data/faker-3.8.0/lib/faker/default/time.rb +149 -0
  117. data/faker-3.8.0/lib/faker/default/types.rb +159 -0
  118. data/faker-3.8.0/lib/faker/default/university.rb +75 -0
  119. data/faker-3.8.0/lib/faker/default/vehicle.rb +332 -0
  120. data/faker-3.8.0/lib/faker/default/verb.rb +72 -0
  121. data/faker-3.8.0/lib/faker/default/vulnerability_identifier.rb +23 -0
  122. data/faker-3.8.0/lib/faker/default/world_cup.rb +77 -0
  123. data/faker-3.8.0/lib/faker/default/x.rb +189 -0
  124. data/faker-3.8.0/lib/faker/default.rb +9 -0
  125. data/faker-3.8.0/lib/faker/fantasy/tolkien.rb +67 -0
  126. data/faker-3.8.0/lib/faker/fantasy.rb +9 -0
  127. data/faker-3.8.0/lib/faker/games/clash_of_clans.rb +48 -0
  128. data/faker-3.8.0/lib/faker/games/control.rb +113 -0
  129. data/faker-3.8.0/lib/faker/games/dnd.rb +178 -0
  130. data/faker-3.8.0/lib/faker/games/dota.rb +89 -0
  131. data/faker-3.8.0/lib/faker/games/elder_scrolls.rb +139 -0
  132. data/faker-3.8.0/lib/faker/games/fallout.rb +62 -0
  133. data/faker-3.8.0/lib/faker/games/final_fantasy_xiv.rb +73 -0
  134. data/faker-3.8.0/lib/faker/games/half_life.rb +48 -0
  135. data/faker-3.8.0/lib/faker/games/heroes.rb +61 -0
  136. data/faker-3.8.0/lib/faker/games/heroes_of_the_storm.rb +61 -0
  137. data/faker-3.8.0/lib/faker/games/league_of_legends.rb +87 -0
  138. data/faker-3.8.0/lib/faker/games/minecraft.rb +113 -0
  139. data/faker-3.8.0/lib/faker/games/myst.rb +74 -0
  140. data/faker-3.8.0/lib/faker/games/overwatch.rb +48 -0
  141. data/faker-3.8.0/lib/faker/games/pokemon.rb +48 -0
  142. data/faker-3.8.0/lib/faker/games/sonic_the_hedgehog.rb +48 -0
  143. data/faker-3.8.0/lib/faker/games/street_fighter.rb +61 -0
  144. data/faker-3.8.0/lib/faker/games/super_mario.rb +48 -0
  145. data/faker-3.8.0/lib/faker/games/super_smash_bros.rb +35 -0
  146. data/faker-3.8.0/lib/faker/games/tarkov.rb +205 -0
  147. data/faker-3.8.0/lib/faker/games/touhou.rb +75 -0
  148. data/faker-3.8.0/lib/faker/games/warhammer_fantasy.rb +74 -0
  149. data/faker-3.8.0/lib/faker/games/witcher.rb +126 -0
  150. data/faker-3.8.0/lib/faker/games/world_of_warcraft.rb +60 -0
  151. data/faker-3.8.0/lib/faker/games/zelda.rb +62 -0
  152. data/faker-3.8.0/lib/faker/games.rb +9 -0
  153. data/faker-3.8.0/lib/faker/internet/http.rb +48 -0
  154. data/faker-3.8.0/lib/faker/internet.rb +582 -0
  155. data/faker-3.8.0/lib/faker/japanese_media/conan.rb +48 -0
  156. data/faker-3.8.0/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
  157. data/faker-3.8.0/lib/faker/japanese_media/doraemon.rb +48 -0
  158. data/faker-3.8.0/lib/faker/japanese_media/dragon_ball.rb +48 -0
  159. data/faker-3.8.0/lib/faker/japanese_media/fullmetal_alchemist_brotherhood.rb +48 -0
  160. data/faker-3.8.0/lib/faker/japanese_media/kamen_rider.rb +102 -0
  161. data/faker-3.8.0/lib/faker/japanese_media/naruto.rb +61 -0
  162. data/faker-3.8.0/lib/faker/japanese_media/one_piece.rb +87 -0
  163. data/faker-3.8.0/lib/faker/japanese_media/studio_ghibli.rb +48 -0
  164. data/faker-3.8.0/lib/faker/japanese_media/sword_art_online.rb +61 -0
  165. data/faker-3.8.0/lib/faker/japanese_media.rb +9 -0
  166. data/faker-3.8.0/lib/faker/locations/australia.rb +49 -0
  167. data/faker-3.8.0/lib/faker/locations.rb +9 -0
  168. data/faker-3.8.0/lib/faker/movies/avatar.rb +49 -0
  169. data/faker-3.8.0/lib/faker/movies/back_to_the_future.rb +49 -0
  170. data/faker-3.8.0/lib/faker/movies/departed.rb +49 -0
  171. data/faker-3.8.0/lib/faker/movies/ghostbusters.rb +49 -0
  172. data/faker-3.8.0/lib/faker/movies/hackers.rb +48 -0
  173. data/faker-3.8.0/lib/faker/movies/harry_potter.rb +87 -0
  174. data/faker-3.8.0/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +106 -0
  175. data/faker-3.8.0/lib/faker/movies/hobbit.rb +62 -0
  176. data/faker-3.8.0/lib/faker/movies/how_to_train_your_dragon.rb +48 -0
  177. data/faker-3.8.0/lib/faker/movies/lebowski.rb +48 -0
  178. data/faker-3.8.0/lib/faker/movies/lord_of_the_rings.rb +49 -0
  179. data/faker-3.8.0/lib/faker/movies/princess_bride.rb +36 -0
  180. data/faker-3.8.0/lib/faker/movies/star_wars.rb +269 -0
  181. data/faker-3.8.0/lib/faker/movies/the_room.rb +63 -0
  182. data/faker-3.8.0/lib/faker/movies/tron.rb +161 -0
  183. data/faker-3.8.0/lib/faker/movies/v_for_vendetta.rb +50 -0
  184. data/faker-3.8.0/lib/faker/movies.rb +9 -0
  185. data/faker-3.8.0/lib/faker/music/bossa_nova.rb +35 -0
  186. data/faker-3.8.0/lib/faker/music/grateful_dead.rb +35 -0
  187. data/faker-3.8.0/lib/faker/music/hiphop.rb +48 -0
  188. data/faker-3.8.0/lib/faker/music/opera.rb +298 -0
  189. data/faker-3.8.0/lib/faker/music/pearl_jam.rb +48 -0
  190. data/faker-3.8.0/lib/faker/music/phish.rb +48 -0
  191. data/faker-3.8.0/lib/faker/music/prince.rb +64 -0
  192. data/faker-3.8.0/lib/faker/music/rock_band.rb +34 -0
  193. data/faker-3.8.0/lib/faker/music/rush.rb +35 -0
  194. data/faker-3.8.0/lib/faker/music/smashing_pumpkins.rb +62 -0
  195. data/faker-3.8.0/lib/faker/music/umphreys_mcgee.rb +22 -0
  196. data/faker-3.8.0/lib/faker/music.rb +149 -0
  197. data/faker-3.8.0/lib/faker/quotes/chiquito.rb +80 -0
  198. data/faker-3.8.0/lib/faker/quotes/rajnikanth.rb +27 -0
  199. data/faker-3.8.0/lib/faker/quotes/shakespeare.rb +111 -0
  200. data/faker-3.8.0/lib/faker/quotes.rb +9 -0
  201. data/faker-3.8.0/lib/faker/religion/bible.rb +50 -0
  202. data/faker-3.8.0/lib/faker/religion.rb +9 -0
  203. data/faker-3.8.0/lib/faker/sports/basketball.rb +61 -0
  204. data/faker-3.8.0/lib/faker/sports/chess.rb +90 -0
  205. data/faker-3.8.0/lib/faker/sports/football.rb +74 -0
  206. data/faker-3.8.0/lib/faker/sports/mountaineering.rb +22 -0
  207. data/faker-3.8.0/lib/faker/sports/volleyball.rb +74 -0
  208. data/faker-3.8.0/lib/faker/sports.rb +9 -0
  209. data/faker-3.8.0/lib/faker/travel/airport.rb +43 -0
  210. data/faker-3.8.0/lib/faker/travel/train_station.rb +54 -0
  211. data/faker-3.8.0/lib/faker/travel.rb +9 -0
  212. data/faker-3.8.0/lib/faker/tv_shows/aqua_teen_hunger_force.rb +37 -0
  213. data/faker-3.8.0/lib/faker/tv_shows/archer.rb +51 -0
  214. data/faker-3.8.0/lib/faker/tv_shows/big_bang_theory.rb +37 -0
  215. data/faker-3.8.0/lib/faker/tv_shows/bojack_horseman.rb +51 -0
  216. data/faker-3.8.0/lib/faker/tv_shows/breaking_bad.rb +37 -0
  217. data/faker-3.8.0/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
  218. data/faker-3.8.0/lib/faker/tv_shows/buffy.rb +76 -0
  219. data/faker-3.8.0/lib/faker/tv_shows/community.rb +38 -0
  220. data/faker-3.8.0/lib/faker/tv_shows/dr_who.rb +102 -0
  221. data/faker-3.8.0/lib/faker/tv_shows/dumb_and_dumber.rb +51 -0
  222. data/faker-3.8.0/lib/faker/tv_shows/family_guy.rb +51 -0
  223. data/faker-3.8.0/lib/faker/tv_shows/final_space.rb +51 -0
  224. data/faker-3.8.0/lib/faker/tv_shows/friends.rb +50 -0
  225. data/faker-3.8.0/lib/faker/tv_shows/futurama.rb +65 -0
  226. data/faker-3.8.0/lib/faker/tv_shows/game_of_thrones.rb +77 -0
  227. data/faker-3.8.0/lib/faker/tv_shows/hey_arnold.rb +50 -0
  228. data/faker-3.8.0/lib/faker/tv_shows/how_i_met_your_mother.rb +64 -0
  229. data/faker-3.8.0/lib/faker/tv_shows/michael_scott.rb +23 -0
  230. data/faker-3.8.0/lib/faker/tv_shows/new_girl.rb +38 -0
  231. data/faker-3.8.0/lib/faker/tv_shows/parks_and_rec.rb +37 -0
  232. data/faker-3.8.0/lib/faker/tv_shows/rick_and_morty.rb +51 -0
  233. data/faker-3.8.0/lib/faker/tv_shows/ru_paul.rb +37 -0
  234. data/faker-3.8.0/lib/faker/tv_shows/seinfeld.rb +51 -0
  235. data/faker-3.8.0/lib/faker/tv_shows/silicon_valley.rb +118 -0
  236. data/faker-3.8.0/lib/faker/tv_shows/simpsons.rb +65 -0
  237. data/faker-3.8.0/lib/faker/tv_shows/south_park.rb +53 -0
  238. data/faker-3.8.0/lib/faker/tv_shows/spongebob.rb +50 -0
  239. data/faker-3.8.0/lib/faker/tv_shows/star_trek.rb +63 -0
  240. data/faker-3.8.0/lib/faker/tv_shows/stargate.rb +51 -0
  241. data/faker-3.8.0/lib/faker/tv_shows/stranger_things.rb +38 -0
  242. data/faker-3.8.0/lib/faker/tv_shows/suits.rb +37 -0
  243. data/faker-3.8.0/lib/faker/tv_shows/supernatural.rb +48 -0
  244. data/faker-3.8.0/lib/faker/tv_shows/the_expanse.rb +63 -0
  245. data/faker-3.8.0/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +51 -0
  246. data/faker-3.8.0/lib/faker/tv_shows/the_it_crowd.rb +64 -0
  247. data/faker-3.8.0/lib/faker/tv_shows/the_office.rb +37 -0
  248. data/faker-3.8.0/lib/faker/tv_shows/the_thick_of_it.rb +51 -0
  249. data/faker-3.8.0/lib/faker/tv_shows/twin_peaks.rb +51 -0
  250. data/faker-3.8.0/lib/faker/tv_shows/venture_bros.rb +65 -0
  251. data/faker-3.8.0/lib/faker/tv_shows.rb +9 -0
  252. data/faker-3.8.0/lib/faker/version.rb +5 -0
  253. data/faker-3.8.0/lib/faker.rb +333 -0
  254. data/faker-3.8.0/lib/helpers/base58.rb +22 -0
  255. data/faker-3.8.0/lib/helpers/char.rb +61 -0
  256. data/faker-3.8.0/lib/helpers/deprecator.rb +118 -0
  257. data/faker-3.8.0/lib/helpers/positional_generator.rb +478 -0
  258. data/faker-3.8.0/lib/helpers/unique_generator.rb +60 -0
  259. data/faker-3.8.0/lib/locales/README.md +56 -0
  260. data/faker-3.8.0/lib/locales/ar.yml +1664 -0
  261. data/faker-3.8.0/lib/locales/bg.yml +960 -0
  262. data/faker-3.8.0/lib/locales/ca-CAT.yml +359 -0
  263. data/faker-3.8.0/lib/locales/ca.yml +596 -0
  264. data/faker-3.8.0/lib/locales/da-DK.yml +567 -0
  265. data/faker-3.8.0/lib/locales/de-AT.yml +3518 -0
  266. data/faker-3.8.0/lib/locales/de-CH.yml +6061 -0
  267. data/faker-3.8.0/lib/locales/de.yml +7262 -0
  268. data/faker-3.8.0/lib/locales/ee.yml +1219 -0
  269. data/faker-3.8.0/lib/locales/en/README.md +13 -0
  270. data/faker-3.8.0/lib/locales/en/address.yml +1851 -0
  271. data/faker-3.8.0/lib/locales/en/adjective.yml +179 -0
  272. data/faker-3.8.0/lib/locales/en/airport.yml +381 -0
  273. data/faker-3.8.0/lib/locales/en/ancient.yml +131 -0
  274. data/faker-3.8.0/lib/locales/en/animal.yml +145 -0
  275. data/faker-3.8.0/lib/locales/en/app.yml +95 -0
  276. data/faker-3.8.0/lib/locales/en/appliance.yml +84 -0
  277. data/faker-3.8.0/lib/locales/en/aqua_teen_hunger_force.yml +36 -0
  278. data/faker-3.8.0/lib/locales/en/archer.yml +75 -0
  279. data/faker-3.8.0/lib/locales/en/artist.yml +46 -0
  280. data/faker-3.8.0/lib/locales/en/australia.yml +108 -0
  281. data/faker-3.8.0/lib/locales/en/avatar.yml +57 -0
  282. data/faker-3.8.0/lib/locales/en/back_to_the_future.yml +148 -0
  283. data/faker-3.8.0/lib/locales/en/bank.yml +391 -0
  284. data/faker-3.8.0/lib/locales/en/barcode.yml +24 -0
  285. data/faker-3.8.0/lib/locales/en/basketball.yml +99 -0
  286. data/faker-3.8.0/lib/locales/en/beer.yml +235 -0
  287. data/faker-3.8.0/lib/locales/en/bible.yml +87 -0
  288. data/faker-3.8.0/lib/locales/en/big_bang_theory.yml +37 -0
  289. data/faker-3.8.0/lib/locales/en/bird.yml +1280 -0
  290. data/faker-3.8.0/lib/locales/en/blood.yml +13 -0
  291. data/faker-3.8.0/lib/locales/en/bojack_horseman.yml +66 -0
  292. data/faker-3.8.0/lib/locales/en/book.yml +490 -0
  293. data/faker-3.8.0/lib/locales/en/bossa_nova.yml +113 -0
  294. data/faker-3.8.0/lib/locales/en/breaking_bad.yml +113 -0
  295. data/faker-3.8.0/lib/locales/en/brooklyn_nine_nine.yml +34 -0
  296. data/faker-3.8.0/lib/locales/en/buffy.yml +242 -0
  297. data/faker-3.8.0/lib/locales/en/business.yml +21 -0
  298. data/faker-3.8.0/lib/locales/en/camera.yml +611 -0
  299. data/faker-3.8.0/lib/locales/en/cannabis.yml +347 -0
  300. data/faker-3.8.0/lib/locales/en/cat.yml +159 -0
  301. data/faker-3.8.0/lib/locales/en/chess.yml +102 -0
  302. data/faker-3.8.0/lib/locales/en/chiquito.yml +63 -0
  303. data/faker-3.8.0/lib/locales/en/chuck_norris.yml +81 -0
  304. data/faker-3.8.0/lib/locales/en/clash_of_clan.yml +99 -0
  305. data/faker-3.8.0/lib/locales/en/code.yml +504 -0
  306. data/faker-3.8.0/lib/locales/en/coffee.yml +456 -0
  307. data/faker-3.8.0/lib/locales/en/coin.yml +6 -0
  308. data/faker-3.8.0/lib/locales/en/color.yml +76 -0
  309. data/faker-3.8.0/lib/locales/en/commerce.yml +122 -0
  310. data/faker-3.8.0/lib/locales/en/community.yml +58 -0
  311. data/faker-3.8.0/lib/locales/en/company.yml +1765 -0
  312. data/faker-3.8.0/lib/locales/en/compass.yml +130 -0
  313. data/faker-3.8.0/lib/locales/en/computer.yml +55 -0
  314. data/faker-3.8.0/lib/locales/en/conan.yml +169 -0
  315. data/faker-3.8.0/lib/locales/en/construction.yml +419 -0
  316. data/faker-3.8.0/lib/locales/en/control.yml +247 -0
  317. data/faker-3.8.0/lib/locales/en/cosmere.yml +222 -0
  318. data/faker-3.8.0/lib/locales/en/cowboy_bebop.yml +160 -0
  319. data/faker-3.8.0/lib/locales/en/crypto_coin.yml +25 -0
  320. data/faker-3.8.0/lib/locales/en/culture_series.yml +307 -0
  321. data/faker-3.8.0/lib/locales/en/currency.yml +361 -0
  322. data/faker-3.8.0/lib/locales/en/dc_comics.yml +181 -0
  323. data/faker-3.8.0/lib/locales/en/demographic.yml +221 -0
  324. data/faker-3.8.0/lib/locales/en/departed.yml +46 -0
  325. data/faker-3.8.0/lib/locales/en/dessert.yml +81 -0
  326. data/faker-3.8.0/lib/locales/en/device.yml +115 -0
  327. data/faker-3.8.0/lib/locales/en/dnd.yml +636 -0
  328. data/faker-3.8.0/lib/locales/en/dog.yml +266 -0
  329. data/faker-3.8.0/lib/locales/en/doraemon.yml +284 -0
  330. data/faker-3.8.0/lib/locales/en/dota.yml +746 -0
  331. data/faker-3.8.0/lib/locales/en/dr_who.yml +471 -0
  332. data/faker-3.8.0/lib/locales/en/dragon_ball.yml +246 -0
  333. data/faker-3.8.0/lib/locales/en/driving_license.yml +181 -0
  334. data/faker-3.8.0/lib/locales/en/drone.yml +95 -0
  335. data/faker-3.8.0/lib/locales/en/dumb_and_dumber.yml +75 -0
  336. data/faker-3.8.0/lib/locales/en/dune.yml +298 -0
  337. data/faker-3.8.0/lib/locales/en/educator.yml +80 -0
  338. data/faker-3.8.0/lib/locales/en/elder_scrolls.yml +584 -0
  339. data/faker-3.8.0/lib/locales/en/electrical_components.yml +52 -0
  340. data/faker-3.8.0/lib/locales/en/emotion.yml +480 -0
  341. data/faker-3.8.0/lib/locales/en/esport.yml +61 -0
  342. data/faker-3.8.0/lib/locales/en/fallout.yml +315 -0
  343. data/faker-3.8.0/lib/locales/en/family_guy.yml +57 -0
  344. data/faker-3.8.0/lib/locales/en/file.yml +112 -0
  345. data/faker-3.8.0/lib/locales/en/final_fantasy_xiv.yml +754 -0
  346. data/faker-3.8.0/lib/locales/en/final_space.yml +35 -0
  347. data/faker-3.8.0/lib/locales/en/finance.yml +189 -0
  348. data/faker-3.8.0/lib/locales/en/food.yml +1070 -0
  349. data/faker-3.8.0/lib/locales/en/football.yml +124 -0
  350. data/faker-3.8.0/lib/locales/en/fresh_prince_of_bel_air.yml +122 -0
  351. data/faker-3.8.0/lib/locales/en/friends.yml +165 -0
  352. data/faker-3.8.0/lib/locales/en/fullmetal_alchemist_brotherhood.yml +78 -0
  353. data/faker-3.8.0/lib/locales/en/funny_name.yml +755 -0
  354. data/faker-3.8.0/lib/locales/en/futurama.yml +336 -0
  355. data/faker-3.8.0/lib/locales/en/game.yml +294 -0
  356. data/faker-3.8.0/lib/locales/en/game_of_thrones.yml +2490 -0
  357. data/faker-3.8.0/lib/locales/en/gender.yml +18 -0
  358. data/faker-3.8.0/lib/locales/en/ghostbusters.yml +104 -0
  359. data/faker-3.8.0/lib/locales/en/grateful_dead.yml +50 -0
  360. data/faker-3.8.0/lib/locales/en/greek_philosophers.yml +47 -0
  361. data/faker-3.8.0/lib/locales/en/hacker.yml +113 -0
  362. data/faker-3.8.0/lib/locales/en/hackers.yml +53 -0
  363. data/faker-3.8.0/lib/locales/en/half_life.yml +88 -0
  364. data/faker-3.8.0/lib/locales/en/harry_potter.yml +326 -0
  365. data/faker-3.8.0/lib/locales/en/heroes.yml +411 -0
  366. data/faker-3.8.0/lib/locales/en/heroes_of_the_storm.yml +134 -0
  367. data/faker-3.8.0/lib/locales/en/hey_arnold.yml +107 -0
  368. data/faker-3.8.0/lib/locales/en/hipster.yml +206 -0
  369. data/faker-3.8.0/lib/locales/en/hitchhikers_guide_to_the_galaxy.yml +246 -0
  370. data/faker-3.8.0/lib/locales/en/hobby.yml +170 -0
  371. data/faker-3.8.0/lib/locales/en/horse.yml +450 -0
  372. data/faker-3.8.0/lib/locales/en/house.yml +37 -0
  373. data/faker-3.8.0/lib/locales/en/how_i_met_your_mother.yml +100 -0
  374. data/faker-3.8.0/lib/locales/en/how_to_train_your_dragon.yml +173 -0
  375. data/faker-3.8.0/lib/locales/en/id_number.yml +10 -0
  376. data/faker-3.8.0/lib/locales/en/industry_segments.yml +191 -0
  377. data/faker-3.8.0/lib/locales/en/internet.yml +154 -0
  378. data/faker-3.8.0/lib/locales/en/invoice.yml +6 -0
  379. data/faker-3.8.0/lib/locales/en/jack_handey.yml +54 -0
  380. data/faker-3.8.0/lib/locales/en/job.yml +106 -0
  381. data/faker-3.8.0/lib/locales/en/kamen_rider.yml +718 -0
  382. data/faker-3.8.0/lib/locales/en/kpop.yml +957 -0
  383. data/faker-3.8.0/lib/locales/en/league_of_legends.yml +289 -0
  384. data/faker-3.8.0/lib/locales/en/lebowski.yml +61 -0
  385. data/faker-3.8.0/lib/locales/en/lorem.yml +1100 -0
  386. data/faker-3.8.0/lib/locales/en/lovecraft.yml +79 -0
  387. data/faker-3.8.0/lib/locales/en/markdown.yml +15 -0
  388. data/faker-3.8.0/lib/locales/en/marketing.yml +57 -0
  389. data/faker-3.8.0/lib/locales/en/measurement.yml +45 -0
  390. data/faker-3.8.0/lib/locales/en/michael_scott.yml +44 -0
  391. data/faker-3.8.0/lib/locales/en/military.yml +182 -0
  392. data/faker-3.8.0/lib/locales/en/minecraft.yml +663 -0
  393. data/faker-3.8.0/lib/locales/en/mitch_hedberg.yml +46 -0
  394. data/faker-3.8.0/lib/locales/en/mountain.yml +171 -0
  395. data/faker-3.8.0/lib/locales/en/mountaineering.yml +14 -0
  396. data/faker-3.8.0/lib/locales/en/movie.yml +209 -0
  397. data/faker-3.8.0/lib/locales/en/music.yml +464 -0
  398. data/faker-3.8.0/lib/locales/en/myst.yml +104 -0
  399. data/faker-3.8.0/lib/locales/en/name.yml +6088 -0
  400. data/faker-3.8.0/lib/locales/en/naruto.yml +230 -0
  401. data/faker-3.8.0/lib/locales/en/nation.yml +11 -0
  402. data/faker-3.8.0/lib/locales/en/nato_phonetic_alphabet.yml +30 -0
  403. data/faker-3.8.0/lib/locales/en/new_girl.yml +38 -0
  404. data/faker-3.8.0/lib/locales/en/one_piece.yml +362 -0
  405. data/faker-3.8.0/lib/locales/en/opera.yml +340 -0
  406. data/faker-3.8.0/lib/locales/en/overwatch.yml +2652 -0
  407. data/faker-3.8.0/lib/locales/en/parks_and_rec.yml +36 -0
  408. data/faker-3.8.0/lib/locales/en/pearl_jam.yml +213 -0
  409. data/faker-3.8.0/lib/locales/en/phish.yml +394 -0
  410. data/faker-3.8.0/lib/locales/en/phone_number.yml +82 -0
  411. data/faker-3.8.0/lib/locales/en/pokemon.yml +421 -0
  412. data/faker-3.8.0/lib/locales/en/prince.yml +227 -0
  413. data/faker-3.8.0/lib/locales/en/princess_bride.yml +51 -0
  414. data/faker-3.8.0/lib/locales/en/programming_language.yml +756 -0
  415. data/faker-3.8.0/lib/locales/en/quote.yml +609 -0
  416. data/faker-3.8.0/lib/locales/en/rajnikanth.yml +77 -0
  417. data/faker-3.8.0/lib/locales/en/relationship.yml +33 -0
  418. data/faker-3.8.0/lib/locales/en/restaurant.yml +129 -0
  419. data/faker-3.8.0/lib/locales/en/rick_and_morty.yml +119 -0
  420. data/faker-3.8.0/lib/locales/en/rock_band.yml +231 -0
  421. data/faker-3.8.0/lib/locales/en/rupaul.yml +123 -0
  422. data/faker-3.8.0/lib/locales/en/rush.yml +32 -0
  423. data/faker-3.8.0/lib/locales/en/science.yml +484 -0
  424. data/faker-3.8.0/lib/locales/en/seinfeld.yml +113 -0
  425. data/faker-3.8.0/lib/locales/en/shakespeare.yml +49 -0
  426. data/faker-3.8.0/lib/locales/en/silicon_valley.yml +125 -0
  427. data/faker-3.8.0/lib/locales/en/simpsons.yml +900 -0
  428. data/faker-3.8.0/lib/locales/en/slack_emoji.yml +886 -0
  429. data/faker-3.8.0/lib/locales/en/smashing_pumpkins.yml +382 -0
  430. data/faker-3.8.0/lib/locales/en/sonic_the_hedgehog.yml +410 -0
  431. data/faker-3.8.0/lib/locales/en/source.yml +51 -0
  432. data/faker-3.8.0/lib/locales/en/south_park.yml +363 -0
  433. data/faker-3.8.0/lib/locales/en/space.yml +376 -0
  434. data/faker-3.8.0/lib/locales/en/spongebob.yml +489 -0
  435. data/faker-3.8.0/lib/locales/en/sport.yml +130 -0
  436. data/faker-3.8.0/lib/locales/en/star_trek.yml +108 -0
  437. data/faker-3.8.0/lib/locales/en/star_wars.yml +603 -0
  438. data/faker-3.8.0/lib/locales/en/stargate.yml +68 -0
  439. data/faker-3.8.0/lib/locales/en/stranger_thing.yml +34 -0
  440. data/faker-3.8.0/lib/locales/en/street_fighter.yml +1524 -0
  441. data/faker-3.8.0/lib/locales/en/stripe.yml +42 -0
  442. data/faker-3.8.0/lib/locales/en/studio_ghibli.yml +107 -0
  443. data/faker-3.8.0/lib/locales/en/subscription.yml +50 -0
  444. data/faker-3.8.0/lib/locales/en/suits.yml +45 -0
  445. data/faker-3.8.0/lib/locales/en/super_mario.yml +58 -0
  446. data/faker-3.8.0/lib/locales/en/super_smash_bros.yml +223 -0
  447. data/faker-3.8.0/lib/locales/en/superhero.yml +582 -0
  448. data/faker-3.8.0/lib/locales/en/supernatural.yml +141 -0
  449. data/faker-3.8.0/lib/locales/en/sword_art_online.yml +330 -0
  450. data/faker-3.8.0/lib/locales/en/tarkov.yml +593 -0
  451. data/faker-3.8.0/lib/locales/en/tea.yml +172 -0
  452. data/faker-3.8.0/lib/locales/en/team.yml +130 -0
  453. data/faker-3.8.0/lib/locales/en/the_expanse.yml +95 -0
  454. data/faker-3.8.0/lib/locales/en/the_it_crowd.yml +151 -0
  455. data/faker-3.8.0/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
  456. data/faker-3.8.0/lib/locales/en/the_office.yml +82 -0
  457. data/faker-3.8.0/lib/locales/en/the_room.yml +68 -0
  458. data/faker-3.8.0/lib/locales/en/the_thick_of_it.yml +86 -0
  459. data/faker-3.8.0/lib/locales/en/theater.yml +597 -0
  460. data/faker-3.8.0/lib/locales/en/tolkien.yml +2453 -0
  461. data/faker-3.8.0/lib/locales/en/touhou.yml +839 -0
  462. data/faker-3.8.0/lib/locales/en/train_station.yml +280 -0
  463. data/faker-3.8.0/lib/locales/en/tron.yml +227 -0
  464. data/faker-3.8.0/lib/locales/en/twin_peaks.yml +133 -0
  465. data/faker-3.8.0/lib/locales/en/umphreys_mcgee.yml +269 -0
  466. data/faker-3.8.0/lib/locales/en/university.yml +23 -0
  467. data/faker-3.8.0/lib/locales/en/v_for_vendetta.yml +160 -0
  468. data/faker-3.8.0/lib/locales/en/vehicle.yml +2814 -0
  469. data/faker-3.8.0/lib/locales/en/venture_bros.yml +228 -0
  470. data/faker-3.8.0/lib/locales/en/verbs.yml +3788 -0
  471. data/faker-3.8.0/lib/locales/en/volleyball.yml +501 -0
  472. data/faker-3.8.0/lib/locales/en/warhammer_fantasy.yml +549 -0
  473. data/faker-3.8.0/lib/locales/en/witcher.yml +430 -0
  474. data/faker-3.8.0/lib/locales/en/world_cup.yml +1168 -0
  475. data/faker-3.8.0/lib/locales/en/world_of_warcraft.yml +126 -0
  476. data/faker-3.8.0/lib/locales/en/yoda.yml +41 -0
  477. data/faker-3.8.0/lib/locales/en/zelda.yml +966 -0
  478. data/faker-3.8.0/lib/locales/en-AU.yml +739 -0
  479. data/faker-3.8.0/lib/locales/en-BORK.yml +107 -0
  480. data/faker-3.8.0/lib/locales/en-CA.yml +394 -0
  481. data/faker-3.8.0/lib/locales/en-GB.yml +124 -0
  482. data/faker-3.8.0/lib/locales/en-IND.yml +1268 -0
  483. data/faker-3.8.0/lib/locales/en-KE.yml +212 -0
  484. data/faker-3.8.0/lib/locales/en-MS.yml +395 -0
  485. data/faker-3.8.0/lib/locales/en-NEP.yml +226 -0
  486. data/faker-3.8.0/lib/locales/en-NG.yml +749 -0
  487. data/faker-3.8.0/lib/locales/en-NZ.yml +1195 -0
  488. data/faker-3.8.0/lib/locales/en-PAK.yml +401 -0
  489. data/faker-3.8.0/lib/locales/en-SG.yml +601 -0
  490. data/faker-3.8.0/lib/locales/en-TH.yml +360 -0
  491. data/faker-3.8.0/lib/locales/en-UG.yml +427 -0
  492. data/faker-3.8.0/lib/locales/en-US.yml +6969 -0
  493. data/faker-3.8.0/lib/locales/en-ZA.yml +1529 -0
  494. data/faker-3.8.0/lib/locales/en-au-ocker.yml +278 -0
  495. data/faker-3.8.0/lib/locales/en.yml +8 -0
  496. data/faker-3.8.0/lib/locales/es-AR.yml +4570 -0
  497. data/faker-3.8.0/lib/locales/es-MX.yml +1971 -0
  498. data/faker-3.8.0/lib/locales/es.yml +2214 -0
  499. data/faker-3.8.0/lib/locales/fa.yml +1631 -0
  500. data/faker-3.8.0/lib/locales/fi-FI.yml +335 -0
  501. data/faker-3.8.0/lib/locales/fr/address.yml +773 -0
  502. data/faker-3.8.0/lib/locales/fr/adjective.yml +266 -0
  503. data/faker-3.8.0/lib/locales/fr/ancient.yml +141 -0
  504. data/faker-3.8.0/lib/locales/fr/animal.yml +122 -0
  505. data/faker-3.8.0/lib/locales/fr/appliance.yml +69 -0
  506. data/faker-3.8.0/lib/locales/fr/book.yml +31 -0
  507. data/faker-3.8.0/lib/locales/fr/color.yml +34 -0
  508. data/faker-3.8.0/lib/locales/fr/company.yml +497 -0
  509. data/faker-3.8.0/lib/locales/fr/compass.yml +71 -0
  510. data/faker-3.8.0/lib/locales/fr/demographic.yml +6 -0
  511. data/faker-3.8.0/lib/locales/fr/gender.yml +21 -0
  512. data/faker-3.8.0/lib/locales/fr/internet.yml +15 -0
  513. data/faker-3.8.0/lib/locales/fr/lorem.yml +1094 -0
  514. data/faker-3.8.0/lib/locales/fr/measurement.yml +34 -0
  515. data/faker-3.8.0/lib/locales/fr/name.yml +1193 -0
  516. data/faker-3.8.0/lib/locales/fr/phone_number.yml +38 -0
  517. data/faker-3.8.0/lib/locales/fr/pokemon.yml +421 -0
  518. data/faker-3.8.0/lib/locales/fr-CA.yml +2802 -0
  519. data/faker-3.8.0/lib/locales/fr-CH.yml +2491 -0
  520. data/faker-3.8.0/lib/locales/fr.yml +5 -0
  521. data/faker-3.8.0/lib/locales/he.yml +273 -0
  522. data/faker-3.8.0/lib/locales/hy.yml +3922 -0
  523. data/faker-3.8.0/lib/locales/id.yml +853 -0
  524. data/faker-3.8.0/lib/locales/it.yml +1349 -0
  525. data/faker-3.8.0/lib/locales/ja/README.md +13 -0
  526. data/faker-3.8.0/lib/locales/ja/address.yml +363 -0
  527. data/faker-3.8.0/lib/locales/ja/adjective.yml +148 -0
  528. data/faker-3.8.0/lib/locales/ja/ancient.yml +18 -0
  529. data/faker-3.8.0/lib/locales/ja/animal.yml +87 -0
  530. data/faker-3.8.0/lib/locales/ja/artist.yml +46 -0
  531. data/faker-3.8.0/lib/locales/ja/bank.yml +139 -0
  532. data/faker-3.8.0/lib/locales/ja/book.yml +496 -0
  533. data/faker-3.8.0/lib/locales/ja/cat.yml +79 -0
  534. data/faker-3.8.0/lib/locales/ja/coffee.yml +22 -0
  535. data/faker-3.8.0/lib/locales/ja/color.yml +35 -0
  536. data/faker-3.8.0/lib/locales/ja/commerce.yml +103 -0
  537. data/faker-3.8.0/lib/locales/ja/company.yml +26 -0
  538. data/faker-3.8.0/lib/locales/ja/dog.yml +339 -0
  539. data/faker-3.8.0/lib/locales/ja/emotion.yml +49 -0
  540. data/faker-3.8.0/lib/locales/ja/food.yml +41 -0
  541. data/faker-3.8.0/lib/locales/ja/football.yml +115 -0
  542. data/faker-3.8.0/lib/locales/ja/gender.yml +6 -0
  543. data/faker-3.8.0/lib/locales/ja/lorem.yml +1020 -0
  544. data/faker-3.8.0/lib/locales/ja/name.yml +213 -0
  545. data/faker-3.8.0/lib/locales/ja/naruto.yml +230 -0
  546. data/faker-3.8.0/lib/locales/ja/overwatch.yml +37 -0
  547. data/faker-3.8.0/lib/locales/ja/phone_number.yml +13 -0
  548. data/faker-3.8.0/lib/locales/ja/pokemon.yml +441 -0
  549. data/faker-3.8.0/lib/locales/ja/relationship.yml +33 -0
  550. data/faker-3.8.0/lib/locales/ja/restaurant.yml +82 -0
  551. data/faker-3.8.0/lib/locales/ja/space.yml +23 -0
  552. data/faker-3.8.0/lib/locales/ja/sport.yml +130 -0
  553. data/faker-3.8.0/lib/locales/ja/studio_ghibli.yml +112 -0
  554. data/faker-3.8.0/lib/locales/ja/subscription.yml +50 -0
  555. data/faker-3.8.0/lib/locales/ja/super_mario.yml +73 -0
  556. data/faker-3.8.0/lib/locales/ja/super_smash_bros.yml +8 -0
  557. data/faker-3.8.0/lib/locales/ja/touhou.yml +466 -0
  558. data/faker-3.8.0/lib/locales/ja/university.yml +22 -0
  559. data/faker-3.8.0/lib/locales/ja/zelda.yml +19 -0
  560. data/faker-3.8.0/lib/locales/ko.yml +1473 -0
  561. data/faker-3.8.0/lib/locales/lt.yml +315 -0
  562. data/faker-3.8.0/lib/locales/lv.yml +1249 -0
  563. data/faker-3.8.0/lib/locales/mi-NZ.yml +283 -0
  564. data/faker-3.8.0/lib/locales/nb-NO.yml +553 -0
  565. data/faker-3.8.0/lib/locales/nl.yml +33551 -0
  566. data/faker-3.8.0/lib/locales/no.yml +7 -0
  567. data/faker-3.8.0/lib/locales/pl.yml +4047 -0
  568. data/faker-3.8.0/lib/locales/pt-BR.yml +8266 -0
  569. data/faker-3.8.0/lib/locales/pt.yml +867 -0
  570. data/faker-3.8.0/lib/locales/ru.yml +1401 -0
  571. data/faker-3.8.0/lib/locales/sk.yml +4453 -0
  572. data/faker-3.8.0/lib/locales/sv.yml +771 -0
  573. data/faker-3.8.0/lib/locales/th.yml +380 -0
  574. data/faker-3.8.0/lib/locales/tr.yml +98 -0
  575. data/faker-3.8.0/lib/locales/uk.yml +1852 -0
  576. data/faker-3.8.0/lib/locales/vi.yml +412 -0
  577. data/faker-3.8.0/lib/locales/zh-CN/bank.yml +17 -0
  578. data/faker-3.8.0/lib/locales/zh-CN.yml +578 -0
  579. data/faker-3.8.0/lib/locales/zh-TW.yml +1045 -0
  580. data/mega-pro-pkg.gemspec +12 -0
  581. metadata +620 -0
@@ -0,0 +1,130 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Json < Base
5
+ require 'json'
6
+
7
+ class << self
8
+ ##
9
+ # Produces a random simple JSON formatted string.
10
+ #
11
+ # @param width [Integer] Specifies the number of key-value pairs.
12
+ # @param options [Hash] Specifies a Faker gem class to use for keys and for values, respectably. options_hash = {key: Class.method, value: Class.method}
13
+ # @return [Hash{String => String}]
14
+ #
15
+ # @example
16
+ # Faker::Json.shallow_json(width: 3, options: { key: 'RockBand.name', value: 'Seinfeld.quote' }) # =>
17
+ # {"Parliament Funkadelic":"They're real, and they're spectacular.",
18
+ # "Fleetwood Mac":"I'm not a lesbian. I hate men, but I'm not a lesbian.",
19
+ # "The Roots":"It became very clear to me sitting out there today that every decision
20
+ # I've made in my entire life has been wrong. My life is the complete opposite of everything
21
+ # I want it to be. Every instinct I have, in every aspect of life, be it something to wear,
22
+ # something to eat - it's all been wrong."}
23
+ #
24
+ # @faker.version 1.9.2
25
+ def shallow_json(width: 3, options: { key: 'Name.first_name', value: 'Name.first_name' })
26
+ options[:key] = "Faker::#{options[:key]}"
27
+ options[:value] = "Faker::#{options[:value]}"
28
+
29
+ hash = build_shallow_hash(width, options)
30
+ JSON.generate(hash)
31
+ end
32
+
33
+ ##
34
+ # Produces a random nested JSON formatted string that can take JSON as an additional argument.
35
+ #
36
+ # @param json [Hash{String => String}] Specifies a Json.shallow_json and uses its keys as keys of the nested JSON.
37
+ # @param width [Integer] Specifies the number of nested key-value pairs.
38
+ # @param options [Hash] Specifies a Faker gem class to use for nested keys and for values, respectably. options_hash = {key: Class.method, value: Class.method}
39
+ # @return [Hash{String => String}]
40
+ #
41
+ # @example
42
+ # json = Faker::Json.shallow_json(width: 3, options: { key: 'Name.first_name', value: 'Name.last_name' })
43
+ # puts json # =>
44
+ # {"Alisha":"Olson","Everardo":"DuBuque","Bridgette":"Turner"}
45
+ #
46
+ # json2 = Faker::Json.add_depth_to_json(json: json, width: 2, options: { key: 'Name.first_name', value: 'Name.last_name' })
47
+ # puts json2 # =>
48
+ # {"Alisha":{"Daisy":"Trantow","Oda":"Haag"},
49
+ # "Everardo":{"Javier":"Marvin","Eliseo":"Schuppe"},
50
+ # "Bridgette":{"Jorge":"Kertzmann","Lelah":"MacGyver"}}
51
+ #
52
+ # json3 = Faker::Json.add_depth_to_json(json: json2, width: 4, options: { key: 'Name.first_name', value: 'Name.last_name' })
53
+ # puts json3 # =>
54
+ # {"Alisha":
55
+ # {"Daisy":
56
+ # {"Bulah":"Wunsch","Cristian":"Champlin","Lester":"Bartoletti","Greg":"Jacobson"},
57
+ # "Oda":
58
+ # {"Salvatore":"Kuhlman","Aubree":"Okuneva","Larry":"Schmitt","Velva":"Gibson"}},
59
+ # "Everardo":
60
+ # {"Javier":
61
+ # {"Eduardo":"Orn","Laila":"Kub","Thad":"Legros","Dion":"Wilderman"},
62
+ # "Eliseo":
63
+ # {"Olin":"Hilpert","Marisa":"Greenfelder","Karlee":"Schmitt","Judd":"Larkin"}},
64
+ # "Bridgette":
65
+ # {"Jorge":
66
+ # {"Eloy":"Pfeffer","Kody":"Hansen","Paxton":"Lubowitz","Abe":"Lesch"},
67
+ # "Lelah":
68
+ # {"Rick":"Wiza","Bonita":"Bayer","Gardner":"Auer","Felicity":"Abbott"}}}
69
+ #
70
+ # @faker.version 1.9.2
71
+ def add_depth_to_json(json: shallow_json, width: 3, options: { key: 'Name.first_name', value: 'Name.first_name' })
72
+ options[:key] = "Faker::#{options[:key]}"
73
+ options[:value] = "Faker::#{options[:value]}"
74
+
75
+ hash = JSON.parse(json)
76
+ hash.each_key do |key|
77
+ add_hash_to_bottom(hash, [key], width, options)
78
+ end
79
+ JSON.generate(hash)
80
+ end
81
+
82
+ private
83
+
84
+ def build_shallow_hash(width, options)
85
+ key = options[:key]
86
+ value = options[:value]
87
+
88
+ hash = {}
89
+ width.times do
90
+ hash[eval(key)] = eval(value)
91
+ end
92
+ hash
93
+ end
94
+
95
+ def add_hash_to_bottom(hash, key_array, width, options)
96
+ key_string = build_keys_from_array(key_array)
97
+ if eval("hash#{key_string}").is_a?(::Hash)
98
+ eval("hash#{key_string}").each_key do |key|
99
+ key_array << key
100
+ add_hash_to_bottom(hash, key_array, width, options)
101
+ end
102
+ else
103
+ add_hash(key_array, hash, width, options)
104
+ key_array.pop
105
+ end
106
+ end
107
+
108
+ def add_hash(key_array, hash, width, options)
109
+ string_to_eval = 'hash'.dup
110
+
111
+ key_array.length.times do |index|
112
+ string_to_eval << "['#{key_array[index]}']"
113
+ end
114
+ string_to_eval << " = #{build_shallow_hash(width, options)}"
115
+ eval(string_to_eval)
116
+
117
+ hash
118
+ end
119
+
120
+ def build_keys_from_array(key_array)
121
+ key_string = ''.dup
122
+
123
+ key_array.each do |value|
124
+ key_string << "['#{value}']"
125
+ end
126
+ key_string
127
+ end
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Kpop < Base
5
+ class << self
6
+ ##
7
+ # Produces the name of a 1990's 'OG' K-Pop group.
8
+ #
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # Faker::Kpop.i_groups #=> "Seo Taiji and Boys"
13
+ #
14
+ # @faker.version 1.8.5
15
+ def i_groups
16
+ fetch('kpop.i_groups')
17
+ end
18
+
19
+ ##
20
+ # Produces the name of a 2000's K-Pop group.
21
+ #
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::Kpop.ii_groups #=> "Girls' Generation"
26
+ #
27
+ # @faker.version 1.8.5
28
+ def ii_groups
29
+ fetch('kpop.ii_groups')
30
+ end
31
+
32
+ ##
33
+ # Produces the name of a 2010's K-Pop group.
34
+ #
35
+ # @return [String]
36
+ #
37
+ # @example
38
+ # Faker::Kpop.iii_groups #=> "Trouble Maker"
39
+ #
40
+ # @faker.version 1.8.5
41
+ def iii_groups
42
+ fetch('kpop.iii_groups')
43
+ end
44
+
45
+ ##
46
+ # Produces the name of a K-Pop girl group.
47
+ #
48
+ # @return [String]
49
+ #
50
+ # @example
51
+ # Faker::Kpop.girl_groups #=> "2NE1"
52
+ #
53
+ # @faker.version 1.8.5
54
+ def girl_groups
55
+ fetch('kpop.girl_groups')
56
+ end
57
+
58
+ ##
59
+ # Produces the name of a K-Pop boy band.
60
+ #
61
+ # @return [String]
62
+ #
63
+ # @example
64
+ # Faker::Kpop.boy_bands #=> "Exo"
65
+ #
66
+ # @faker.version 1.8.5
67
+ def boy_bands
68
+ fetch('kpop.boy_bands')
69
+ end
70
+
71
+ ##
72
+ # Produces the name of a solo K-Pop artist.
73
+ #
74
+ # @return [String]
75
+ #
76
+ # @example
77
+ # Faker::Kpop.solo #=> "T.O.P"
78
+ #
79
+ # @faker.version 1.8.5
80
+ def solo
81
+ fetch('kpop.solo')
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,253 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ # Based on Perl's Text::Lorem
5
+ class Lorem < Base
6
+ class << self
7
+ ##
8
+ # Returs the random word
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # Faker::Lorem.word #=> "soluto"
13
+ # Faker::Lorem.word(exclude_words: 'error') #=> "nisi"
14
+ # Faker::Lorem.word(exclude_words: 'id, error') #=> "et"
15
+ # Faker::Lorem.word(exclude_words: ['id', 'error']) #=> "consequatur"
16
+ #
17
+ # @faker.version 2.1.3
18
+ def word(exclude_words: nil)
19
+ words(number: 1, exclude_words: exclude_words).first
20
+ end
21
+
22
+ ##
23
+ # Generates random 3 words
24
+ #
25
+ # @param number [Integer] Number of words to be generated
26
+ # @param supplemental [Boolean] Whether to attach supplemental words at the end, default is false
27
+ #
28
+ # @return [Array] Array for words
29
+ #
30
+ # @example
31
+ # Faker::Lorem.words #=> ["hic", "quia", "nihil"]
32
+ # Faker::Lorem.words(number: 4) #=> ["est", "temporibus", "et", "quaerat"]
33
+ # Faker::Lorem.words(number: 4, supplemental: true) #=> ["nisi", "sit", "allatus", "consequatur"]
34
+ # Faker::Lorem.words(number: 4, supplemental: true, exclude_words: 'sit') #=> ["nisi", "allatus", "consequatur", "aut"]
35
+ #
36
+ # @faker.version 2.1.3
37
+ def words(number: 3, supplemental: false, exclude_words: nil)
38
+ resolved_num = resolve(number)
39
+ word_list = (
40
+ translate('faker.lorem.words') +
41
+ (supplemental ? translate('faker.lorem.supplemental') : [])
42
+ )
43
+ if exclude_words
44
+ exclude_words = exclude_words.split(', ') if exclude_words.instance_of?(::String)
45
+ word_list -= exclude_words
46
+ end
47
+ word_list *= ((resolved_num / word_list.length) + 1)
48
+ sample(word_list, resolved_num)
49
+ end
50
+
51
+ ##
52
+ # Generates single character
53
+ #
54
+ # @return [String]
55
+ #
56
+ # @example
57
+ # Faker::Lorem.character #=> "e"
58
+ #
59
+ # @faker.version 2.1.3
60
+ def character
61
+ sample(Faker::Types::CHARACTERS)
62
+ end
63
+
64
+ ##
65
+ # Produces a random string of alphanumeric characters
66
+ #
67
+ # @param number [Integer] The number of characters to generate
68
+ # @param min_alpha [Integer] The minimum number of alphabetic to add to the string
69
+ # @param min_numeric [Integer] The minimum number of numbers to add to the string
70
+ #
71
+ # @return [String]
72
+ #
73
+ # @example
74
+ # Faker::Lorem.characters #=> "uw1ep04lhs0c4d931n1jmrspprf5w..."
75
+ # Faker::Lorem.characters(number: 10) #=> "ang9cbhoa8"
76
+ # Faker::Lorem.characters(number: 10, min_alpha: 4) #=> "ang9cbhoa8"
77
+ # Faker::Lorem.characters(number: 10, min_alpha: 4, min_numeric: 1) #=> "ang9cbhoa8"
78
+ #
79
+ # @faker.version 2.1.3
80
+ def characters(number: 255, min_alpha: 0, min_numeric: 0)
81
+ Faker::Alphanumeric.alphanumeric(number: number, min_alpha: min_alpha, min_numeric: min_numeric)
82
+ end
83
+
84
+ ##
85
+ # Generates the emoji
86
+ #
87
+ # @return [String]
88
+ #
89
+ # @example
90
+ # Faker::Lorem.multibyte #=> "😀"
91
+ # Faker::Lorem.multibyte #=> "❤"
92
+ #
93
+ # @faker.version 2.1.3
94
+ def multibyte
95
+ sample(translate('faker.lorem.multibyte')).pack('C*').force_encoding('utf-8')
96
+ end
97
+
98
+ ##
99
+ # Generates sentence
100
+ #
101
+ # @param word_count [Integer] How many words should be there in a sentence, default to 4
102
+ # @param supplemental [Boolean] Add supplemental words, default to false
103
+ # @param random_words_to_add [Integer] Add any random words, default to 0
104
+ #
105
+ # @return [String]
106
+ #
107
+ # @example
108
+ # Faker::Lorem.sentence #=> "Magnam qui aut quidem."
109
+ # Faker::Lorem.sentence(word_count: 5) #=> "Voluptas rerum aut aliquam velit."
110
+ # Faker::Lorem.sentence(word_count: 5, supplemental: true) #=> "Aut viscus curtus votum iusto."
111
+ # Faker::Lorem.sentence(word_count: 5, supplemental: true, random_words_to_add:2) #=> "Crinis quo cruentus velit animi vomer."
112
+ #
113
+ # @faker.version 2.1.3
114
+ def sentence(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil)
115
+ words(number: word_count + rand(random_words_to_add.to_i), supplemental: supplemental, exclude_words: exclude_words).join(locale_space).capitalize + locale_period
116
+ end
117
+
118
+ ##
119
+ # Generates three sentences
120
+ #
121
+ # @param number [Integer] How many sentences to be generated, default to 3
122
+ # @param supplemental [Boolean] Should add supplemental words, defaults to false
123
+ #
124
+ # @return [Array] Returns array for sentences.
125
+ #
126
+ # @example
127
+ # Faker::Lorem.sentences #=> ["Possimus non tenetur.", "Nulla non excepturi.", "Quisquam rerum facilis."]
128
+ # Faker::Lorem.sentences(number: 2) #=> ["Nulla est natus.", "Perferendis autem cum."]
129
+ # Faker::Lorem.sentences(number: 2, supplemental: true) #=> ["Cito cena ad.", "Solvo animus allatus."]
130
+ #
131
+ # @faker.version 2.1.3
132
+ def sentences(number: 3, supplemental: false, exclude_words: nil)
133
+ 1.upto(resolve(number)).collect { sentence(word_count: 3, supplemental: supplemental, exclude_words: exclude_words) }
134
+ end
135
+
136
+ ##
137
+ # Generates three sentence paragraph
138
+ #
139
+ # @param sentence_count [Integer] Number of sentences in the paragraph
140
+ # @param supplemental [Boolean]
141
+ # @param random_sentences_to_add [Integer]
142
+ #
143
+ # @return [String]
144
+ #
145
+ # @example
146
+ # Faker::Lorem.paragraph
147
+ # #=> "Impedit et est. Aliquid deleniti necessitatibus. Et aspernatur minima."
148
+ # Faker::Lorem.paragraph(sentence_count: 2)
149
+ # #=> "Rerum fugit vitae. Et atque autem."
150
+ # Faker::Lorem.paragraph(sentence_count: 2, supplemental: true)
151
+ # #=> "Terreo coerceo utor. Vester sunt cogito."
152
+ # Faker::Lorem.paragraph(sentence_count: 2, supplemental: true, random_sentences_to_add: 2)
153
+ # #=> "Texo tantillus tamisium. Tribuo amissio tamisium. Facere aut canis."
154
+ #
155
+ # @faker.version 2.1.3
156
+ def paragraph(sentence_count: 3, supplemental: false, random_sentences_to_add: 0, exclude_words: nil)
157
+ sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i), supplemental: supplemental, exclude_words: exclude_words).join(locale_space)
158
+ end
159
+
160
+ ##
161
+ # Generates three paragraphs
162
+ #
163
+ # @param number [Integer]
164
+ # @param supplemental [Boolean]
165
+ #
166
+ # @return [Array]
167
+ #
168
+ # @example
169
+ # Faker::Lorem.paragraphs
170
+ # Faker::Lorem.paragraphs(number:2)
171
+ # Faker::Lorem.paragraphs(number:2, supplemental: true)
172
+ #
173
+ # @faker.version 2.1.3
174
+ def paragraphs(number: 3, supplemental: false, exclude_words: nil)
175
+ 1.upto(resolve(number)).collect { paragraph(sentence_count: 3, supplemental: supplemental, exclude_words: exclude_words) }
176
+ end
177
+
178
+ ##
179
+ # Generates paragraph with 256 characters
180
+ #
181
+ # @param number [Integer]
182
+ # @param supplemental [Boolean]
183
+ #
184
+ # @return [String]
185
+ #
186
+ # @example
187
+ # Faker::Lorem.paragraph_by_chars
188
+ # Faker::Lorem.paragraph_by_chars(number: 20) #=> "Sit modi alias. Imp."
189
+ # Faker::Lorem.paragraph_by_chars(number: 20, supplemental: true) #=> "Certus aveho admove."
190
+ #
191
+ # @faker.version 2.1.3
192
+ def paragraph_by_chars(number: 256, supplemental: false)
193
+ paragraph = paragraph(sentence_count: 3, supplemental: supplemental)
194
+
195
+ paragraph += " #{paragraph(sentence_count: 3, supplemental: supplemental)}" while paragraph.length < number
196
+
197
+ "#{paragraph[0...(number - 1)]}."
198
+ end
199
+
200
+ ##
201
+ # Returns the question with 4 words
202
+ #
203
+ # @param word_count [Integer]
204
+ # @param supplemental [Boolean]
205
+ # @param random_words_to_add [Integer]
206
+ #
207
+ # @return [String]
208
+ #
209
+ # @example
210
+ # Faker::Lorem.question #=> "Natus deleniti sequi laudantium?"
211
+ # Faker::Lorem.question(word_count: 2) #=> "Quo ut?"
212
+ # Faker::Lorem.question(word_count: 2, supplemental: true) #=> "Terga consequatur?"
213
+ # Faker::Lorem.question(word_count: 2, supplemental: true, random_words_to_add: 2) #=> "Depulso uter ut?"
214
+ #
215
+ # @faker.version 2.1.3
216
+ def question(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil)
217
+ words(number: word_count + rand(random_words_to_add), supplemental: supplemental, exclude_words: exclude_words).join(' ').capitalize + locale_question_mark
218
+ end
219
+
220
+ ##
221
+ # Generates array of three questions
222
+ #
223
+ # @param number [Integer]
224
+ # @param supplemental [Boolean]
225
+ #
226
+ # @return [Array]
227
+ #
228
+ # @example
229
+ # Faker::Lorem.questions #=> ["Amet culpa enim?", "Voluptatem deleniti numquam?", "Veniam non cum?"]
230
+ # Faker::Lorem.questions(number: 2) #=> ["Minus occaecati nobis?", "Veniam et alias?"]
231
+ # Faker::Lorem.questions(number: 2, supplemental: true) #=> ["Acceptus subito cetera?", "Aro sulum cubicularis?"]
232
+ #
233
+ # @faker.version 2.1.3
234
+ def questions(number: 3, supplemental: false, exclude_words: nil)
235
+ 1.upto(resolve(number)).collect { question(word_count: 3, supplemental: supplemental, exclude_words: exclude_words) }
236
+ end
237
+
238
+ private
239
+
240
+ def locale_period
241
+ translate('faker.lorem.punctuation.period') || '.'
242
+ end
243
+
244
+ def locale_space
245
+ translate('faker.lorem.punctuation.space') || ' '
246
+ end
247
+
248
+ def locale_question_mark
249
+ translate('faker.lorem.punctuation.question_mark') || '?'
250
+ end
251
+ end
252
+ end
253
+ end
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class LoremFlickr < Base
5
+ class << self
6
+ SUPPORTED_COLORIZATIONS = %w[red green blue].freeze
7
+
8
+ ##
9
+ # Produces a random image URL from loremflickr.com.
10
+ #
11
+ # @param size [String] Specifies the size of image to generate.
12
+ # @param search_terms [Array<String>] Adds search terms to the image URL.
13
+ # @param match_all [Boolean] Add "all" as part of the URL.
14
+ # @return [String]
15
+ #
16
+ # @example
17
+ # Faker::LoremFlickr.image #=> "https://loremflickr.com/300/300"
18
+ # Faker::LoremFlickr.image(size: "50x60") #=> "https://loremflickr.com/50/60"
19
+ # Faker::LoremFlickr.image(size: "50x60", search_terms: ['sports']) #=> "https://loremflickr.com/50/60/sports"
20
+ # Faker::LoremFlickr.image(size: "50x60", search_terms: ['sports', 'fitness']) #=> "https://loremflickr.com/50/60/sports,fitness"
21
+ # Faker::LoremFlickr.image(size: "50x60", search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/50/60/sports,fitness/all"
22
+ #
23
+ # @faker.version 1.9.0
24
+ def image(size: '300x300', search_terms: [], match_all: false)
25
+ build_url(size, nil, search_terms, match_all)
26
+ end
27
+
28
+ ##
29
+ # Produces a random grayscale image URL from loremflickr.com.
30
+ #
31
+ # @param size [String] Specifies the size of image to generate.
32
+ # @param search_terms [Array<String>] Adds search terms to the image URL.
33
+ # @param match_all [Boolean] Add "all" as part of the URL.
34
+ # @return [String]
35
+ #
36
+ # @example
37
+ # Faker::LoremFlickr.grayscale_image #=> "https://loremflickr.com/g/300/300/all"
38
+ # Faker::LoremFlickr.grayscale_image(size: "50x60") #=> "https://loremflickr.com/g/50/60/all"
39
+ # Faker::LoremFlickr.grayscale_image(size: "50x60", search_terms: ['sports']) #=> "https://loremflickr.com/g/50/60/sports"
40
+ # Faker::LoremFlickr.grayscale_image(size: "50x60", search_terms: ['sports', 'fitness']) #=> "https://loremflickr.com/50/60/g/sports,fitness"
41
+ # Faker::LoremFlickr.grayscale_image(size: "50x60", search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/g/50/60/sports,fitness/all"
42
+ #
43
+ # @faker.version 1.9.0
44
+ def grayscale_image(size: '300x300', search_terms: ['all'], match_all: false)
45
+ raise ArgumentError, 'Search terms must be specified for grayscale images' unless search_terms.any?
46
+
47
+ build_url(size, 'g', search_terms, match_all)
48
+ end
49
+
50
+ ##
51
+ # Produces a random pixelated image URL from loremflickr.com.
52
+ #
53
+ # @param size [String] Specifies the size of image to generate.
54
+ # @param search_terms [Array<String>] Adds search terms to the image URL.
55
+ # @param match_all [Boolean] Add "all" as part of the URL.
56
+ # @return [String]
57
+ #
58
+ # @example
59
+ # Faker::LoremFlickr.pixelated_image #=> "https://loremflickr.com/p/300/300/all"
60
+ # Faker::LoremFlickr.pixelated_image(size: "50x60") #=> "https://loremflickr.com/p/50/60/all"
61
+ # Faker::LoremFlickr.pixelated_image(size: "50x60", search_terms: ['sports']) #=> "https://loremflickr.com/p/50/60/sports"
62
+ # Faker::LoremFlickr.pixelated_image(size: "50x60", search_terms: ['sports', 'fitness']) #=> "https://loremflickr.com/p/50/60/sports,fitness"
63
+ # Faker::LoremFlickr.pixelated_image(size: "50x60", search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/p/50/60/sports,fitness/all"
64
+ #
65
+ # @faker.version 1.9.0
66
+ def pixelated_image(size: '300x300', search_terms: ['all'], match_all: false)
67
+ raise ArgumentError, 'Search terms must be specified for pixelated images' unless search_terms.any?
68
+
69
+ build_url(size, 'p', search_terms, match_all)
70
+ end
71
+
72
+ ##
73
+ # Produces a random colorized image URL from loremflickr.com.
74
+ #
75
+ # @param size [String] Specifies the size of image to generate.
76
+ # @param color [String] Specifies the color of image to generate.
77
+ # @param search_terms [Array<String>] Adds search terms to the image URL.
78
+ # @param match_all [Boolean] Add "all" as part of the URL.
79
+ # @return [String]
80
+ #
81
+ # @example
82
+ # Faker::LoremFlickr.image #=> "https://loremflickr.com/red/300/300/all"
83
+ # Faker::LoremFlickr.image(size: "50x60", color: 'blue') #=> "https://loremflickr.com/blue/50/60/all"
84
+ # Faker::LoremFlickr.image(size: "50x60", color: 'blue', search_terms: ['sports']) #=> "https://loremflickr.com/blue/50/60/sports"
85
+ # Faker::LoremFlickr.image(size: "50x60", color: 'blue', search_terms: ['sports', 'fitness']) #=> "https://loremflickr.com/blue/50/60/sports,fitness"
86
+ # Faker::LoremFlickr.image(size: "50x60", color: 'blue', search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/blue/50/60/sports,fitness/all"
87
+ #
88
+ # @faker.version 1.9.0
89
+ def colorized_image(size: '300x300', color: 'red', search_terms: ['all'], match_all: false)
90
+ raise ArgumentError, 'Search terms must be specified for colorized images' unless search_terms.any?
91
+ raise ArgumentError, "Supported colorizations are #{SUPPORTED_COLORIZATIONS.join(', ')}" unless SUPPORTED_COLORIZATIONS.include?(color)
92
+
93
+ build_url(size, color, search_terms, match_all)
94
+ end
95
+
96
+ private
97
+
98
+ def build_url(size, format, search_terms, match_all)
99
+ raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /\A[0-9]+x[0-9]+\z/
100
+
101
+ url_parts = ['https://loremflickr.com']
102
+ url_parts << format
103
+ url_parts += size.split('x')
104
+ url_parts << search_terms.compact.join(',') if search_terms.any?
105
+ url_parts << 'all' if match_all
106
+ url_parts.compact.join('/')
107
+ end
108
+ end
109
+ end
110
+ end