faker 1.1.2 → 3.1.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 (569) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +2383 -0
  3. data/History.md +176 -0
  4. data/License.txt +2 -2
  5. data/README.md +487 -47
  6. data/bin/faker +5 -0
  7. data/lib/faker/blockchain/aeternity.rb +70 -0
  8. data/lib/faker/blockchain/bitcoin.rb +60 -0
  9. data/lib/faker/blockchain/ethereum.rb +26 -0
  10. data/lib/faker/blockchain/tezos.rb +135 -0
  11. data/lib/faker/books/book.rb +61 -0
  12. data/lib/faker/books/culture_series.rb +83 -0
  13. data/lib/faker/books/dune.rb +124 -0
  14. data/lib/faker/books/lovecraft.rb +249 -0
  15. data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
  16. data/lib/faker/creature/animal.rb +22 -0
  17. data/lib/faker/creature/bird.rb +203 -0
  18. data/lib/faker/creature/cat.rb +50 -0
  19. data/lib/faker/creature/dog.rb +115 -0
  20. data/lib/faker/creature/horse.rb +37 -0
  21. data/lib/faker/default/address.rb +348 -0
  22. data/lib/faker/default/adjective.rb +35 -0
  23. data/lib/faker/default/alphanumeric.rb +67 -0
  24. data/lib/faker/default/ancient.rb +59 -0
  25. data/lib/faker/default/app.rb +68 -0
  26. data/lib/faker/default/appliance.rb +33 -0
  27. data/lib/faker/default/artist.rb +20 -0
  28. data/lib/faker/default/avatar.rb +49 -0
  29. data/lib/faker/default/bank.rb +199 -0
  30. data/lib/faker/default/barcode.rb +165 -0
  31. data/lib/faker/default/beer.rb +113 -0
  32. data/lib/faker/default/blood.rb +48 -0
  33. data/lib/faker/default/boolean.rb +23 -0
  34. data/lib/faker/default/bossa_nova.rb +33 -0
  35. data/lib/faker/default/business.rb +50 -0
  36. data/lib/faker/default/camera.rb +46 -0
  37. data/lib/faker/default/cannabis.rb +135 -0
  38. data/lib/faker/default/chile_rut.rb +92 -0
  39. data/lib/faker/default/chuck_norris.rb +25 -0
  40. data/lib/faker/default/code.rb +269 -0
  41. data/lib/faker/default/coffee.rb +82 -0
  42. data/lib/faker/default/coin.rb +33 -0
  43. data/lib/faker/default/color.rb +150 -0
  44. data/lib/faker/default/commerce.rb +157 -0
  45. data/lib/faker/default/company.rb +571 -0
  46. data/lib/faker/default/compass.rb +202 -0
  47. data/lib/faker/default/computer.rb +63 -0
  48. data/lib/faker/default/construction.rb +83 -0
  49. data/lib/faker/default/cosmere.rb +138 -0
  50. data/lib/faker/default/crypto.rb +61 -0
  51. data/lib/faker/default/crypto_coin.rb +82 -0
  52. data/lib/faker/default/currency.rb +46 -0
  53. data/lib/faker/default/date.rb +153 -0
  54. data/lib/faker/default/dc_comics.rb +70 -0
  55. data/lib/faker/default/demographic.rb +94 -0
  56. data/lib/faker/default/dessert.rb +48 -0
  57. data/lib/faker/default/device.rb +85 -0
  58. data/lib/faker/default/driving_licence.rb +121 -0
  59. data/lib/faker/default/drone.rb +332 -0
  60. data/lib/faker/default/educator.rb +102 -0
  61. data/lib/faker/default/electrical_components.rb +48 -0
  62. data/lib/faker/default/emotion.rb +33 -0
  63. data/lib/faker/default/esport.rb +72 -0
  64. data/lib/faker/default/file.rb +81 -0
  65. data/lib/faker/default/fillmurray.rb +38 -0
  66. data/lib/faker/default/finance.rb +112 -0
  67. data/lib/faker/default/food.rb +126 -0
  68. data/lib/faker/default/funny_name.rb +90 -0
  69. data/lib/faker/default/gender.rb +46 -0
  70. data/lib/faker/default/greek_philosophers.rb +33 -0
  71. data/lib/faker/default/hacker.rb +103 -0
  72. data/lib/faker/default/hipster.rb +155 -0
  73. data/lib/faker/default/hobby.rb +22 -0
  74. data/lib/faker/default/house.rb +33 -0
  75. data/lib/faker/default/id_number.rb +410 -0
  76. data/lib/faker/default/industry_segments.rb +61 -0
  77. data/lib/faker/default/internet.rb +582 -0
  78. data/lib/faker/default/internet_http.rb +48 -0
  79. data/lib/faker/default/invoice.rb +123 -0
  80. data/lib/faker/default/job.rb +61 -0
  81. data/lib/faker/default/json.rb +125 -0
  82. data/lib/faker/default/kpop.rb +85 -0
  83. data/lib/faker/default/lorem.rb +250 -0
  84. data/lib/faker/default/lorem_flickr.rb +110 -0
  85. data/lib/faker/default/markdown.rb +170 -0
  86. data/lib/faker/default/marketing.rb +22 -0
  87. data/lib/faker/default/measurement.rb +175 -0
  88. data/lib/faker/default/military.rb +98 -0
  89. data/lib/faker/default/mountain.rb +33 -0
  90. data/lib/faker/default/name.rb +152 -0
  91. data/lib/faker/default/nation.rb +73 -0
  92. data/lib/faker/default/nato_phonetic_alphabet.rb +20 -0
  93. data/lib/faker/default/nhs.rb +53 -0
  94. data/lib/faker/default/number.rb +244 -0
  95. data/lib/faker/default/omniauth.rb +471 -0
  96. data/lib/faker/default/phone_number.rb +133 -0
  97. data/lib/faker/default/placeholdit.rb +52 -0
  98. data/lib/faker/default/programming_language.rb +33 -0
  99. data/lib/faker/default/relationship.rb +87 -0
  100. data/lib/faker/default/religion.rb +6 -0
  101. data/lib/faker/default/restaurant.rb +63 -0
  102. data/lib/faker/default/science.rb +154 -0
  103. data/lib/faker/default/slack_emoji.rb +124 -0
  104. data/lib/faker/default/source.rb +63 -0
  105. data/lib/faker/default/south_africa.rb +141 -0
  106. data/lib/faker/default/space.rb +191 -0
  107. data/lib/faker/default/string.rb +59 -0
  108. data/lib/faker/default/stripe.rb +126 -0
  109. data/lib/faker/default/subscription.rb +70 -0
  110. data/lib/faker/default/superhero.rb +72 -0
  111. data/lib/faker/default/tea.rb +41 -0
  112. data/lib/faker/default/team.rb +74 -0
  113. data/lib/faker/default/time.rb +149 -0
  114. data/lib/faker/default/twitter.rb +207 -0
  115. data/lib/faker/default/types.rb +160 -0
  116. data/lib/faker/default/university.rb +75 -0
  117. data/lib/faker/default/vehicle.rb +320 -0
  118. data/lib/faker/default/verb.rb +72 -0
  119. data/lib/faker/default/vulnerability_identifier.rb +23 -0
  120. data/lib/faker/default/world_cup.rb +77 -0
  121. data/lib/faker/fantasy/tolkien.rb +67 -0
  122. data/lib/faker/games/clash_of_clans.rb +48 -0
  123. data/lib/faker/games/control.rb +113 -0
  124. data/lib/faker/games/dnd.rb +136 -0
  125. data/lib/faker/games/dota.rb +89 -0
  126. data/lib/faker/games/elder_scrolls.rb +139 -0
  127. data/lib/faker/games/fallout.rb +62 -0
  128. data/lib/faker/games/game.rb +48 -0
  129. data/lib/faker/games/half_life.rb +48 -0
  130. data/lib/faker/games/heroes.rb +61 -0
  131. data/lib/faker/games/heroes_of_the_storm.rb +72 -0
  132. data/lib/faker/games/league_of_legends.rb +87 -0
  133. data/lib/faker/games/minecraft.rb +113 -0
  134. data/lib/faker/games/myst.rb +74 -0
  135. data/lib/faker/games/overwatch.rb +48 -0
  136. data/lib/faker/games/pokemon.rb +48 -0
  137. data/lib/faker/games/sonic_the_hedgehog.rb +48 -0
  138. data/lib/faker/games/street_fighter.rb +61 -0
  139. data/lib/faker/games/super_mario.rb +48 -0
  140. data/lib/faker/games/super_smash_bros.rb +35 -0
  141. data/lib/faker/games/tarkov.rb +205 -0
  142. data/lib/faker/games/touhou.rb +75 -0
  143. data/lib/faker/games/warhammer_fantasy.rb +74 -0
  144. data/lib/faker/games/witcher.rb +126 -0
  145. data/lib/faker/games/world_of_warcraft.rb +60 -0
  146. data/lib/faker/games/zelda.rb +62 -0
  147. data/lib/faker/japanese_media/conan.rb +48 -0
  148. data/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
  149. data/lib/faker/japanese_media/doraemon.rb +48 -0
  150. data/lib/faker/japanese_media/dragon_ball.rb +48 -0
  151. data/lib/faker/japanese_media/fullmetal_alchemist_brotherhood.rb +48 -0
  152. data/lib/faker/japanese_media/kamen_rider.rb +102 -0
  153. data/lib/faker/japanese_media/naruto.rb +61 -0
  154. data/lib/faker/japanese_media/one_piece.rb +87 -0
  155. data/lib/faker/japanese_media/studio_ghibli.rb +48 -0
  156. data/lib/faker/japanese_media/sword_art_online.rb +61 -0
  157. data/lib/faker/locations/australia.rb +47 -0
  158. data/lib/faker/movies/back_to_the_future.rb +49 -0
  159. data/lib/faker/movies/departed.rb +49 -0
  160. data/lib/faker/movies/ghostbusters.rb +49 -0
  161. data/lib/faker/movies/hackers.rb +48 -0
  162. data/lib/faker/movies/harry_potter.rb +87 -0
  163. data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +106 -0
  164. data/lib/faker/movies/hobbit.rb +62 -0
  165. data/lib/faker/movies/how_to_train_your_dragon.rb +48 -0
  166. data/lib/faker/movies/lebowski.rb +48 -0
  167. data/lib/faker/movies/lord_of_the_rings.rb +49 -0
  168. data/lib/faker/movies/movie.rb +33 -0
  169. data/lib/faker/movies/princess_bride.rb +36 -0
  170. data/lib/faker/movies/room.rb +63 -0
  171. data/lib/faker/movies/star_wars.rb +269 -0
  172. data/lib/faker/movies/tron.rb +161 -0
  173. data/lib/faker/movies/v_for_vendetta.rb +50 -0
  174. data/lib/faker/music/grateful_dead.rb +37 -0
  175. data/lib/faker/music/hiphop.rb +48 -0
  176. data/lib/faker/music/music.rb +145 -0
  177. data/lib/faker/music/opera.rb +298 -0
  178. data/lib/faker/music/pearl_jam.rb +50 -0
  179. data/lib/faker/music/phish.rb +48 -0
  180. data/lib/faker/music/prince.rb +64 -0
  181. data/lib/faker/music/rock_band.rb +34 -0
  182. data/lib/faker/music/rush.rb +37 -0
  183. data/lib/faker/music/show.rb +49 -0
  184. data/lib/faker/music/umphreys_mcgee.rb +22 -0
  185. data/lib/faker/quotes/chiquito.rb +80 -0
  186. data/lib/faker/quotes/quote.rb +111 -0
  187. data/lib/faker/quotes/rajnikanth.rb +27 -0
  188. data/lib/faker/quotes/shakespeare.rb +111 -0
  189. data/lib/faker/religion/bible.rb +50 -0
  190. data/lib/faker/sports/basketball.rb +61 -0
  191. data/lib/faker/sports/football.rb +74 -0
  192. data/lib/faker/sports/mountaineering.rb +22 -0
  193. data/lib/faker/sports/sport.rb +116 -0
  194. data/lib/faker/sports/volleyball.rb +74 -0
  195. data/lib/faker/travel/airport.rb +47 -0
  196. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +37 -0
  197. data/lib/faker/tv_shows/big_bang_theory.rb +37 -0
  198. data/lib/faker/tv_shows/bojack_horseman.rb +51 -0
  199. data/lib/faker/tv_shows/breaking_bad.rb +37 -0
  200. data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
  201. data/lib/faker/tv_shows/buffy.rb +89 -0
  202. data/lib/faker/tv_shows/community.rb +38 -0
  203. data/lib/faker/tv_shows/dr_who.rb +115 -0
  204. data/lib/faker/tv_shows/dumb_and_dumber.rb +51 -0
  205. data/lib/faker/tv_shows/family_guy.rb +51 -0
  206. data/lib/faker/tv_shows/final_space.rb +51 -0
  207. data/lib/faker/tv_shows/friends.rb +50 -0
  208. data/lib/faker/tv_shows/futurama.rb +65 -0
  209. data/lib/faker/tv_shows/game_of_thrones.rb +77 -0
  210. data/lib/faker/tv_shows/hey_arnold.rb +50 -0
  211. data/lib/faker/tv_shows/how_i_met_your_mother.rb +64 -0
  212. data/lib/faker/tv_shows/michael_scott.rb +23 -0
  213. data/lib/faker/tv_shows/new_girl.rb +38 -0
  214. data/lib/faker/tv_shows/parks_and_rec.rb +37 -0
  215. data/lib/faker/tv_shows/rick_and_morty.rb +51 -0
  216. data/lib/faker/tv_shows/ru_paul.rb +37 -0
  217. data/lib/faker/tv_shows/seinfeld.rb +51 -0
  218. data/lib/faker/tv_shows/silicon_valley.rb +118 -0
  219. data/lib/faker/tv_shows/simpsons.rb +65 -0
  220. data/lib/faker/tv_shows/south_park.rb +38 -0
  221. data/lib/faker/tv_shows/spongebob.rb +50 -0
  222. data/lib/faker/tv_shows/star_trek.rb +63 -0
  223. data/lib/faker/tv_shows/stargate.rb +51 -0
  224. data/lib/faker/tv_shows/stranger_things.rb +38 -0
  225. data/lib/faker/tv_shows/suits.rb +37 -0
  226. data/lib/faker/tv_shows/supernatural.rb +48 -0
  227. data/lib/faker/tv_shows/the_expanse.rb +63 -0
  228. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +64 -0
  229. data/lib/faker/tv_shows/the_it_crowd.rb +64 -0
  230. data/lib/faker/tv_shows/the_office.rb +37 -0
  231. data/lib/faker/tv_shows/the_thick_of_it.rb +51 -0
  232. data/lib/faker/tv_shows/twin_peaks.rb +51 -0
  233. data/lib/faker/tv_shows/venture_bros.rb +65 -0
  234. data/lib/faker/version.rb +4 -2
  235. data/lib/faker.rb +170 -58
  236. data/lib/helpers/base58.rb +22 -0
  237. data/lib/helpers/char.rb +61 -0
  238. data/lib/helpers/unique_generator.rb +60 -0
  239. data/lib/locales/README.md +40 -0
  240. data/lib/locales/ar.yml +106 -0
  241. data/lib/locales/bg.yml +44 -0
  242. data/lib/locales/ca-CAT.yml +24 -0
  243. data/lib/locales/ca.yml +23 -0
  244. data/lib/locales/da-DK.yml +72 -0
  245. data/lib/locales/de-AT.yml +57 -0
  246. data/lib/locales/de-CH.yml +1713 -0
  247. data/lib/locales/de.yml +131 -9
  248. data/lib/locales/ee.yml +61 -0
  249. data/lib/locales/en/README.md +13 -0
  250. data/lib/locales/en/address.yml +586 -0
  251. data/lib/locales/en/adjective.yml +179 -0
  252. data/lib/locales/en/airport.yml +381 -0
  253. data/lib/locales/en/ancient.yml +7 -0
  254. data/lib/locales/en/animal.yml +6 -0
  255. data/lib/locales/en/app.yml +8 -0
  256. data/lib/locales/en/appliance.yml +5 -0
  257. data/lib/locales/en/aqua_teen_hunger_force.yml +36 -0
  258. data/lib/locales/en/artist.yml +4 -0
  259. data/lib/locales/en/australia.yml +107 -0
  260. data/lib/locales/en/back_to_the_future.yml +120 -0
  261. data/lib/locales/en/bank.yml +302 -0
  262. data/lib/locales/en/barcode.yml +24 -0
  263. data/lib/locales/en/basketball.yml +99 -0
  264. data/lib/locales/en/beer.yml +9 -0
  265. data/lib/locales/en/bible.yml +90 -0
  266. data/lib/locales/en/big_bang_theory.yml +38 -0
  267. data/lib/locales/en/bird.yml +1281 -0
  268. data/lib/locales/en/blood.yml +13 -0
  269. data/lib/locales/en/bojack_horseman.yml +6 -0
  270. data/lib/locales/en/book.yml +491 -0
  271. data/lib/locales/en/bossa_nova.yml +6 -0
  272. data/lib/locales/en/breaking_bad.yml +28 -0
  273. data/lib/locales/en/brooklyn_nine_nine.yml +35 -0
  274. data/lib/locales/en/buffy.yml +260 -0
  275. data/lib/locales/en/business.yml +5 -0
  276. data/lib/locales/en/camera.yml +611 -0
  277. data/lib/locales/en/cannabis.yml +13 -0
  278. data/lib/locales/en/cat.yml +7 -0
  279. data/lib/locales/en/chiquito.yml +64 -0
  280. data/lib/locales/en/chuck_norris.yml +82 -0
  281. data/lib/locales/en/clash_of_clan.yml +101 -0
  282. data/lib/locales/en/code.yml +4 -0
  283. data/lib/locales/en/coffee.yml +31 -0
  284. data/lib/locales/en/coin.yml +6 -0
  285. data/lib/locales/en/color.yml +4 -0
  286. data/lib/locales/en/commerce.yml +28 -0
  287. data/lib/locales/en/community.yml +33 -0
  288. data/lib/locales/en/company.yml +22 -0
  289. data/lib/locales/en/compass.yml +34 -0
  290. data/lib/locales/en/computer.yml +55 -0
  291. data/lib/locales/en/conan.yml +171 -0
  292. data/lib/locales/en/construction.yml +425 -0
  293. data/lib/locales/en/control.yml +247 -0
  294. data/lib/locales/en/cosmere.yml +57 -0
  295. data/lib/locales/en/cowboy_bebop.yml +163 -0
  296. data/lib/locales/en/crypto_coin.yml +25 -0
  297. data/lib/locales/en/culture_series.yml +307 -0
  298. data/lib/locales/en/currency.yml +6 -0
  299. data/lib/locales/en/dc_comics.yml +52 -0
  300. data/lib/locales/en/demographic.yml +221 -0
  301. data/lib/locales/en/departed.yml +50 -0
  302. data/lib/locales/en/dessert.yml +6 -0
  303. data/lib/locales/en/device.yml +115 -0
  304. data/lib/locales/en/dnd.yml +451 -0
  305. data/lib/locales/en/dog.yml +11 -0
  306. data/lib/locales/en/doraemon.yml +286 -0
  307. data/lib/locales/en/dota.yml +693 -0
  308. data/lib/locales/en/dr_who.yml +96 -0
  309. data/lib/locales/en/dragon_ball.yml +246 -0
  310. data/lib/locales/en/driving_license.yml +181 -0
  311. data/lib/locales/en/drone.yml +95 -0
  312. data/lib/locales/en/dumb_and_dumber.yml +59 -0
  313. data/lib/locales/en/dune.yml +298 -0
  314. data/lib/locales/en/educator.yml +80 -0
  315. data/lib/locales/en/elder_scrolls.yml +585 -0
  316. data/lib/locales/en/electrical_components.yml +6 -0
  317. data/lib/locales/en/emotion.yml +480 -0
  318. data/lib/locales/en/esport.yml +8 -0
  319. data/lib/locales/en/fallout.yml +315 -0
  320. data/lib/locales/en/family_guy.yml +7 -0
  321. data/lib/locales/en/file.yml +13 -0
  322. data/lib/locales/en/final_space.yml +37 -0
  323. data/lib/locales/en/finance.yml +189 -0
  324. data/lib/locales/en/fma_brotherhood.yml +78 -0
  325. data/lib/locales/en/food.yml +1057 -0
  326. data/lib/locales/en/football.yml +8 -0
  327. data/lib/locales/en/fresh_prince_of_bel_air.yml +73 -0
  328. data/lib/locales/en/friends.yml +6 -0
  329. data/lib/locales/en/funny_name.yml +4 -0
  330. data/lib/locales/en/futurama.yml +344 -0
  331. data/lib/locales/en/game.yml +294 -0
  332. data/lib/locales/en/game_of_thrones.yml +8 -0
  333. data/lib/locales/en/gender.yml +6 -0
  334. data/lib/locales/en/ghostbusters.yml +91 -0
  335. data/lib/locales/en/grateful_dead.yml +48 -0
  336. data/lib/locales/en/greek_philosophers.yml +26 -0
  337. data/lib/locales/en/hacker.yml +8 -0
  338. data/lib/locales/en/hackers.yml +53 -0
  339. data/lib/locales/en/half_life.yml +88 -0
  340. data/lib/locales/en/harry_potter.yml +9 -0
  341. data/lib/locales/en/heroes.yml +411 -0
  342. data/lib/locales/en/heroes_of_the_storm.yml +134 -0
  343. data/lib/locales/en/hey_arnold.yml +24 -0
  344. data/lib/locales/en/hipster.yml +4 -0
  345. data/lib/locales/en/hitchhikers_guide_to_the_galaxy.yml +45 -0
  346. data/lib/locales/en/hobby.yml +171 -0
  347. data/lib/locales/en/horse.yml +6 -0
  348. data/lib/locales/en/house.yml +5 -0
  349. data/lib/locales/en/how_i_met_your_mother.yml +28 -0
  350. data/lib/locales/en/how_to_train_your_dragon.yml +174 -0
  351. data/lib/locales/en/id_number.yml +5 -0
  352. data/lib/locales/en/industry_segments.yml +7 -0
  353. data/lib/locales/en/internet.yml +155 -0
  354. data/lib/locales/en/invoice.yml +6 -0
  355. data/lib/locales/en/jack_handey.yml +54 -0
  356. data/lib/locales/en/job.yml +15 -0
  357. data/lib/locales/en/kamen_rider.yml +452 -0
  358. data/lib/locales/en/kpop.yml +83 -0
  359. data/lib/locales/en/league_of_legends.yml +289 -0
  360. data/lib/locales/en/lebowski.yml +43 -0
  361. data/lib/locales/en/lorem.yml +11 -0
  362. data/lib/locales/en/lovecraft.yml +79 -0
  363. data/lib/locales/en/markdown.yml +5 -0
  364. data/lib/locales/en/marketing.yml +4 -0
  365. data/lib/locales/en/measurement.yml +11 -0
  366. data/lib/locales/en/michael_scott.yml +45 -0
  367. data/lib/locales/en/military.yml +182 -0
  368. data/lib/locales/en/minecraft.yml +663 -0
  369. data/lib/locales/en/mountain.yml +171 -0
  370. data/lib/locales/en/mountaineering.yml +14 -0
  371. data/lib/locales/en/movie.yml +197 -0
  372. data/lib/locales/en/music.yml +464 -0
  373. data/lib/locales/en/myst.yml +104 -0
  374. data/lib/locales/en/name.yml +26 -0
  375. data/lib/locales/en/naruto.yml +230 -0
  376. data/lib/locales/en/nation.yml +11 -0
  377. data/lib/locales/en/nato_phonetic_alphabet.yml +4 -0
  378. data/lib/locales/en/new_girl.yml +40 -0
  379. data/lib/locales/en/one_piece.yml +9 -0
  380. data/lib/locales/en/opera.yml +340 -0
  381. data/lib/locales/en/overwatch.yml +2652 -0
  382. data/lib/locales/en/parks_and_rec.yml +7 -0
  383. data/lib/locales/en/pearl_jam.yml +213 -0
  384. data/lib/locales/en/phish.yml +395 -0
  385. data/lib/locales/en/phone_number.yml +7 -0
  386. data/lib/locales/en/pokemon.yml +421 -0
  387. data/lib/locales/en/prince.yml +227 -0
  388. data/lib/locales/en/princess_bride.yml +5 -0
  389. data/lib/locales/en/programming_language.yml +6 -0
  390. data/lib/locales/en/quote.yml +695 -0
  391. data/lib/locales/en/rajnikanth.yml +77 -0
  392. data/lib/locales/en/relationship.yml +10 -0
  393. data/lib/locales/en/restaurant.yml +129 -0
  394. data/lib/locales/en/rick_and_morty.yml +6 -0
  395. data/lib/locales/en/rock_band.yml +5 -0
  396. data/lib/locales/en/room.yml +68 -0
  397. data/lib/locales/en/rupaul.yml +125 -0
  398. data/lib/locales/en/rush.yml +32 -0
  399. data/lib/locales/en/science.yml +484 -0
  400. data/lib/locales/en/seinfeld.yml +6 -0
  401. data/lib/locales/en/shakespeare.yml +53 -0
  402. data/lib/locales/en/show.yml +597 -0
  403. data/lib/locales/en/silicon_valley.yml +53 -0
  404. data/lib/locales/en/simpsons.yml +694 -0
  405. data/lib/locales/en/slack_emoji.yml +20 -0
  406. data/lib/locales/en/sonic_the_hedgehog.yml +410 -0
  407. data/lib/locales/en/source.yml +51 -0
  408. data/lib/locales/en/south_park.yml +5 -0
  409. data/lib/locales/en/space.yml +17 -0
  410. data/lib/locales/en/spongebob.yml +489 -0
  411. data/lib/locales/en/sport.yml +130 -0
  412. data/lib/locales/en/star_trek.yml +7 -0
  413. data/lib/locales/en/star_wars.yml +606 -0
  414. data/lib/locales/en/stargate.yml +21 -0
  415. data/lib/locales/en/stranger_thing.yml +36 -0
  416. data/lib/locales/en/street_fighter.yml +1524 -0
  417. data/lib/locales/en/stripe.yml +42 -0
  418. data/lib/locales/en/studio_ghibli.yml +107 -0
  419. data/lib/locales/en/subscription.yml +8 -0
  420. data/lib/locales/en/suits.yml +45 -0
  421. data/lib/locales/en/super_mario.yml +58 -0
  422. data/lib/locales/en/super_smash_bros.yml +223 -0
  423. data/lib/locales/en/superhero.yml +12 -0
  424. data/lib/locales/en/supernatural.yml +141 -0
  425. data/lib/locales/en/sword_art_online.yml +334 -0
  426. data/lib/locales/en/tarkov.yml +593 -0
  427. data/lib/locales/en/tea.yml +172 -0
  428. data/lib/locales/en/team.yml +8 -0
  429. data/lib/locales/en/the_expanse.yml +7 -0
  430. data/lib/locales/en/the_it_crowd.yml +155 -0
  431. data/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
  432. data/lib/locales/en/the_office.yml +86 -0
  433. data/lib/locales/en/the_thick_of_it.yml +6 -0
  434. data/lib/locales/en/tolkien.yml +2453 -0
  435. data/lib/locales/en/touhou.yml +839 -0
  436. data/lib/locales/en/tron.yml +227 -0
  437. data/lib/locales/en/twin_peaks.yml +6 -0
  438. data/lib/locales/en/umphreys_mcgee.yml +4 -0
  439. data/lib/locales/en/university.yml +10 -0
  440. data/lib/locales/en/v_for_vendetta.yml +163 -0
  441. data/lib/locales/en/vehicle.yml +2814 -0
  442. data/lib/locales/en/venture_bros.yml +7 -0
  443. data/lib/locales/en/verbs.yml +8 -0
  444. data/lib/locales/en/volleyball.yml +501 -0
  445. data/lib/locales/en/warhammer_fantasy.yml +582 -0
  446. data/lib/locales/en/witcher.yml +430 -0
  447. data/lib/locales/en/world_cup.yml +271 -0
  448. data/lib/locales/en/world_of_warcraft.yml +126 -0
  449. data/lib/locales/en/yoda.yml +4 -0
  450. data/lib/locales/en/zelda.yml +966 -0
  451. data/lib/locales/en-AU.yml +67 -0
  452. data/lib/locales/{en-bork.yml → en-BORK.yml} +1 -1
  453. data/lib/locales/en-CA.yml +39 -0
  454. data/lib/locales/{en-gb.yml → en-GB.yml} +3 -3
  455. data/lib/locales/{en-ind.yml → en-IND.yml} +10 -4
  456. data/lib/locales/en-MS.yml +48 -0
  457. data/lib/locales/en-NEP.yml +52 -0
  458. data/lib/locales/en-NG.yml +77 -0
  459. data/lib/locales/en-NZ.yml +165 -0
  460. data/lib/locales/en-PAK.yml +19 -0
  461. data/lib/locales/en-SG.yml +36 -0
  462. data/lib/locales/en-TH.yml +360 -0
  463. data/lib/locales/en-UG.yml +128 -0
  464. data/lib/locales/en-US.yml +128 -0
  465. data/lib/locales/en-ZA.yml +147 -0
  466. data/lib/locales/en-au-ocker.yml +34 -0
  467. data/lib/locales/en.yml +6 -67
  468. data/lib/locales/es-AR.yml +4600 -0
  469. data/lib/locales/es-MX.yml +104 -0
  470. data/lib/locales/es.yml +149 -0
  471. data/lib/locales/fa.yml +12 -0
  472. data/lib/locales/fi-FI.yml +36 -0
  473. data/lib/locales/fr/address.yml +20 -0
  474. data/lib/locales/fr/adjective.yml +266 -0
  475. data/lib/locales/fr/ancient.yml +141 -0
  476. data/lib/locales/fr/animal.yml +5 -0
  477. data/lib/locales/fr/appliance.yml +4 -0
  478. data/lib/locales/fr/book.yml +7 -0
  479. data/lib/locales/fr/color.yml +4 -0
  480. data/lib/locales/fr/company.yml +17 -0
  481. data/lib/locales/fr/compass.yml +23 -0
  482. data/lib/locales/fr/demographic.yml +4 -0
  483. data/lib/locales/fr/gender.yml +6 -0
  484. data/lib/locales/fr/internet.yml +5 -0
  485. data/lib/locales/fr/lorem.yml +5 -0
  486. data/lib/locales/fr/measurement.yml +7 -0
  487. data/lib/locales/fr/name.yml +21 -0
  488. data/lib/locales/fr/phone_number.yml +7 -0
  489. data/lib/locales/fr/pokemon.yml +7 -0
  490. data/lib/locales/fr-CA.yml +106 -0
  491. data/lib/locales/fr-CH.yml +77 -0
  492. data/lib/locales/fr.yml +1 -51
  493. data/lib/locales/he.yml +27 -0
  494. data/lib/locales/hy.yml +411 -0
  495. data/lib/locales/id.yml +26 -0
  496. data/lib/locales/it.yml +71 -0
  497. data/lib/locales/ja/README.md +13 -0
  498. data/lib/locales/ja/address.yml +120539 -0
  499. data/lib/locales/ja/adjective.yml +148 -0
  500. data/lib/locales/ja/ancient.yml +4 -0
  501. data/lib/locales/ja/animal.yml +5 -0
  502. data/lib/locales/ja/bank.yml +4 -0
  503. data/lib/locales/ja/book.yml +7 -0
  504. data/lib/locales/ja/cat.yml +5 -0
  505. data/lib/locales/ja/coffee.yml +4 -0
  506. data/lib/locales/ja/color.yml +4 -0
  507. data/lib/locales/ja/commerce.yml +11 -0
  508. data/lib/locales/ja/company.yml +8 -0
  509. data/lib/locales/ja/dog.yml +6 -0
  510. data/lib/locales/ja/emotion.yml +51 -0
  511. data/lib/locales/ja/food.yml +4 -0
  512. data/lib/locales/ja/gender.yml +4 -0
  513. data/lib/locales/ja/lorem.yml +9 -0
  514. data/lib/locales/ja/name.yml +13 -0
  515. data/lib/locales/ja/naruto.yml +230 -0
  516. data/lib/locales/ja/overwatch.yml +5 -0
  517. data/lib/locales/ja/phone_number.yml +7 -0
  518. data/lib/locales/ja/pokemon.yml +7 -0
  519. data/lib/locales/ja/relationship.yml +10 -0
  520. data/lib/locales/ja/restaurant.yml +11 -0
  521. data/lib/locales/ja/space.yml +5 -0
  522. data/lib/locales/ja/studio_ghibli.yml +112 -0
  523. data/lib/locales/ja/subscription.yml +8 -0
  524. data/lib/locales/ja/super_mario.yml +9 -0
  525. data/lib/locales/ja/super_smash_bros.yml +8 -0
  526. data/lib/locales/ja/university.yml +9 -0
  527. data/lib/locales/ja/zelda.yml +5 -0
  528. data/lib/locales/ko.yml +132 -0
  529. data/lib/locales/lt.yml +34 -0
  530. data/lib/locales/lv.yml +55 -0
  531. data/lib/locales/mi-NZ.yml +281 -0
  532. data/lib/locales/{no-nb.yml → nb-NO.yml} +20 -8
  533. data/lib/locales/nl.yml +45 -30
  534. data/lib/locales/no.yml +7 -0
  535. data/lib/locales/pl.yml +20 -10
  536. data/lib/locales/pt-BR.yml +725 -0
  537. data/lib/locales/{pt-br.yml → pt.yml} +25 -15
  538. data/lib/locales/ru.yml +117 -0
  539. data/lib/locales/sk.yml +80 -0
  540. data/lib/locales/sv.yml +81 -0
  541. data/lib/locales/th.yml +380 -0
  542. data/lib/locales/tr.yml +40 -0
  543. data/lib/locales/uk.yml +88 -0
  544. data/lib/locales/vi.yml +8 -3
  545. data/lib/locales/zh-CN.yml +56 -0
  546. data/lib/locales/zh-TW.yml +29 -0
  547. metadata +731 -97
  548. data/History.txt +0 -103
  549. data/lib/extensions/array.rb +0 -7
  550. data/lib/extensions/symbol.rb +0 -9
  551. data/lib/faker/address.rb +0 -49
  552. data/lib/faker/company.rb +0 -26
  553. data/lib/faker/internet.rb +0 -71
  554. data/lib/faker/lorem.rb +0 -59
  555. data/lib/faker/name.rb +0 -22
  556. data/lib/faker/phone_number.rb +0 -17
  557. data/lib/locales/de-ch.yml +0 -19
  558. data/lib/locales/en-au.yml +0 -22
  559. data/lib/locales/en-ca.yml +0 -14
  560. data/lib/locales/en-us.yml +0 -6
  561. data/test/test_faker.rb +0 -29
  562. data/test/test_faker_city.rb +0 -45
  563. data/test/test_faker_internet.rb +0 -56
  564. data/test/test_faker_lorem.rb +0 -69
  565. data/test/test_faker_name.rb +0 -20
  566. data/test/test_faker_street.rb +0 -44
  567. data/test/test_flexible.rb +0 -56
  568. data/test/test_helper.rb +0 -5
  569. data/test/test_locale.rb +0 -41
@@ -0,0 +1,269 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Movies
5
+ class StarWars < Base
6
+ class << self
7
+ ##
8
+ # Produces a call squadron from Star Wars.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Movies::StarWars.call_squadron #=> "Green"
14
+ #
15
+ # @faker.version 1.6.2
16
+ def call_squadron
17
+ sample(call_squadrons)
18
+ end
19
+
20
+ ##
21
+ # Produces a call sign from Star Wars.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Movies::StarWars.call_sign #=> "Grey 5"
27
+ #
28
+ # @faker.version 1.6.2
29
+ def call_sign
30
+ numerify(parse('star_wars.call_sign'))
31
+ end
32
+
33
+ ##
34
+ # Produces a call number from Star Wars.
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Movies::StarWars.call_number #=> "Leader"
40
+ #
41
+ # @faker.version 1.6.2
42
+ def call_number
43
+ sample(call_numbers)
44
+ end
45
+
46
+ ##
47
+ # Produces a character from Star Wars.
48
+ #
49
+ # @return [String]
50
+ #
51
+ # @example
52
+ # Faker::Movies::StarWars.character #=> "Anakin Skywalker"
53
+ #
54
+ # @faker.version 1.6.2
55
+ def character
56
+ sample(characters)
57
+ end
58
+
59
+ ##
60
+ # Produces a droid from Star Wars.
61
+ #
62
+ # @return [String]
63
+ #
64
+ # @example
65
+ # Faker::Movies::StarWars.droid #=> "C-3PO"
66
+ #
67
+ # @faker.version 1.6.2
68
+ def droid
69
+ sample(droids)
70
+ end
71
+
72
+ ##
73
+ # Produces a planet from Star Wars.
74
+ #
75
+ # @return [String]
76
+ #
77
+ # @example
78
+ # Faker::Movies::StarWars.planet #=> "Tatooine"
79
+ #
80
+ # @faker.version 1.6.2
81
+ def planet
82
+ sample(planets)
83
+ end
84
+
85
+ ##
86
+ # Produces a species from Star Wars.
87
+ #
88
+ # @return [String]
89
+ #
90
+ # @example
91
+ # Faker::Movies::StarWars.specie #=> "Gungan"
92
+ #
93
+ # @faker.version 1.6.2
94
+ def specie
95
+ sample(species)
96
+ end
97
+
98
+ ##
99
+ # Produces a vehicle from Star Wars.
100
+ #
101
+ # @return [String]
102
+ #
103
+ # @example
104
+ # Faker::Movies::StarWars.vehicle #=> "Sandcrawler"
105
+ #
106
+ # @faker.version 1.6.2
107
+ def vehicle
108
+ sample(vehicles)
109
+ end
110
+
111
+ # Produces a wookiee sentence from Star Wars.
112
+ #
113
+ # @return [String]
114
+ #
115
+ # @example
116
+ # Faker::Movies::StarWars.wookiee_sentence #=> "Yrroonn ru ooma roo ahuma ur roooarrgh hnn-rowr."
117
+ #
118
+ # @faker.version 1.6.2
119
+ def wookiee_sentence
120
+ sentence = sample(wookiee_words).capitalize
121
+
122
+ rand(0..10).times { sentence += " #{sample(wookiee_words)}" }
123
+
124
+ sentence + sample(['.', '?', '!'])
125
+ end
126
+
127
+ ##
128
+ # Produces a quote from Star Wars.
129
+ #
130
+ # @param character [String] The name of a character to derive a quote from.
131
+ # @return [String]
132
+ #
133
+ # @example
134
+ # Faker::Movies::StarWars.quote #=> "Aren't you a little short for a Stormtrooper?"
135
+ #
136
+ # @example
137
+ # Faker::Movies::StarWars.quote(character: "leia_organa")
138
+ # #=> "Aren't you a little short for a Stormtrooper?"
139
+ #
140
+ # @faker.version 1.6.2
141
+ def quote(character: nil)
142
+ quoted_characters = translate('faker.star_wars.quotes')
143
+
144
+ if character.nil?
145
+ character = sample(quoted_characters.keys).to_s
146
+ else
147
+ character = character.to_s.downcase
148
+
149
+ # check alternate spellings, nicknames, titles of characters
150
+ translate('faker.star_wars.alternate_character_spellings').each do |k, v|
151
+ character = k.to_s if v.include?(character)
152
+ end
153
+
154
+ raise ArgumentError, "Character for quotes can be left blank or #{quoted_characters.keys.join(', ')}" unless quoted_characters.key?(character.to_sym)
155
+ end
156
+
157
+ fetch("star_wars.quotes.#{character}")
158
+ end
159
+
160
+ ##
161
+ # Generates numbers array
162
+ #
163
+ # @return [Array]
164
+ #
165
+ # @example
166
+ # Faker::Movies::StarWars.call_numbers #=> ["Leader", "#"]
167
+ #
168
+ # @faker.version 1.6.2
169
+ def call_numbers
170
+ fetch_all('star_wars.call_numbers')
171
+ end
172
+
173
+ ##
174
+ # Returns squadrons array
175
+ #
176
+ # @return [Array]
177
+ #
178
+ # @example
179
+ # Faker::Movies::StarWars.call_squadrons #=> ["Rogue", "Red", "Gray", "Green", "Blue", "Gold", "Black", "Yellow", "Phoenix"]
180
+ #
181
+ # @faker.version 1.6.2
182
+ def call_squadrons
183
+ fetch_all('star_wars.call_squadrons')
184
+ end
185
+
186
+ ##
187
+ # Returns all character names in movie
188
+ #
189
+ # @return [Array]
190
+ #
191
+ # @example
192
+ # Faker::Movies::StarWars.characters
193
+ #
194
+ # @faker.version 1.6.2
195
+ def characters
196
+ fetch_all('star_wars.characters')
197
+ end
198
+
199
+ ##
200
+ # Returns droid list
201
+ #
202
+ # @return [Array]
203
+ #
204
+ # @example
205
+ # Faker::Movies::StarWars.droids
206
+ #
207
+ # @faker.versionn 1.6.2
208
+ def droids
209
+ fetch_all('star_wars.droids')
210
+ end
211
+
212
+ ##
213
+ # Lists out all planet names
214
+ #
215
+ # @return [Array]
216
+ #
217
+ # @example
218
+ # Faker::Movies::StarWars.planets
219
+ #
220
+ # @faker.version 1.6.2
221
+ def planets
222
+ fetch_all('star_wars.planets')
223
+ end
224
+
225
+ ##
226
+ # Returns name of all species
227
+ #
228
+ # @return [Array]
229
+ #
230
+ # @example
231
+ # Faker::Movies::StarWars.species
232
+ #
233
+ # @faker.version 1.6.2
234
+ def species
235
+ fetch_all('star_wars.species')
236
+ end
237
+
238
+ ##
239
+ # Lists out all vehicles
240
+ #
241
+ # @return [Array]
242
+ #
243
+ # @example
244
+ # Faker::Movies::StarWars.vehicles
245
+ #
246
+ # @faker.version 1.6.2
247
+ def vehicles
248
+ fetch_all('star_wars.vehicles')
249
+ end
250
+
251
+ ##
252
+ # All wookiee words
253
+ #
254
+ # @return [Array]
255
+ #
256
+ # @example
257
+ # Faker::Movies::StarWars.wookiee_words
258
+ #
259
+ # @faker.version 1.6.2
260
+ def wookiee_words
261
+ fetch_all('star_wars.wookiee_words')
262
+ end
263
+
264
+ alias wookie_sentence wookiee_sentence
265
+ alias wookie_words wookiee_words
266
+ end
267
+ end
268
+ end
269
+ end
@@ -0,0 +1,161 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Movies
5
+ class Tron < Base
6
+ class << self
7
+ ##
8
+ # Produces a character from Tron.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Movies::Tron.character #=> "Bit"
14
+ #
15
+ # @faker.version next
16
+ def character
17
+ sample(characters)
18
+ end
19
+
20
+ ##
21
+ # Produces a game from Tron.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Movies::Tron.game #=> "Space Paranoids"
27
+ #
28
+ # @faker.version next
29
+ def game
30
+ sample(games)
31
+ end
32
+
33
+ ##
34
+ # Produces a location from Tron.
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Movies::Tron.location #=> "Flynn's Arcade"
40
+ #
41
+ # @faker.version next
42
+ def location
43
+ sample(locations)
44
+ end
45
+
46
+ ##
47
+ # Produces a program from Tron.
48
+ #
49
+ # @return [String]
50
+ #
51
+ # @example
52
+ # Faker::Movies::Tron.program #=> "Clu"
53
+ #
54
+ # @faker.version next
55
+ def program
56
+ sample(programs)
57
+ end
58
+
59
+ ##
60
+ # Produces a quote from Tron.
61
+ #
62
+ # @param character [String] The name of a character to derive a quote from.
63
+ # @return [String]
64
+ #
65
+ # @example
66
+ # Faker::Movies::Tron.quote #=> "Greetings, Programs!"
67
+ #
68
+ # @example
69
+ # Faker::Movies::Tron.quote(character: "mcp")
70
+ # #=> "End of Line."
71
+ #
72
+ # @faker.version next
73
+ def quote(character: nil)
74
+ quoted_characters = translate('faker.tron.quotes')
75
+
76
+ if character.nil?
77
+ character = sample(quoted_characters.keys).to_s
78
+ else
79
+ character = character.to_s.downcase
80
+
81
+ # check alternate spellings, nicknames, titles of characters
82
+ translate('faker.tron.alternate_character_spellings').each do |k, v|
83
+ character = k.to_s if v.include?(character)
84
+ end
85
+
86
+ raise ArgumentError, "Character for quotes can be left blank or #{quoted_characters.keys.join(', ')}" unless quoted_characters.key?(character.to_sym)
87
+ end
88
+
89
+ fetch("tron.quotes.#{character}")
90
+ end
91
+
92
+ ##
93
+ # Produces a tagline from Tron.
94
+ #
95
+ # @return [String]
96
+ #
97
+ # @example
98
+ # Faker::Movies::Tron.tagline #=> "The Electronic Gladiator"
99
+ #
100
+ # @faker.version next
101
+ def tagline
102
+ sample(taglines)
103
+ end
104
+
105
+ ##
106
+ # Produces a user from Tron.
107
+ #
108
+ # @return [String]
109
+ #
110
+ # @example
111
+ # Faker::Movies::Tron.user #=> "Light Cycle"
112
+ #
113
+ # @faker.version next
114
+ def user
115
+ sample(users)
116
+ end
117
+
118
+ ##
119
+ # Produces a vehicle from Tron.
120
+ #
121
+ # @return [String]
122
+ #
123
+ # @example
124
+ # Faker::Movies::Tron.vehicle #=> "Light Cycle"
125
+ #
126
+ # @faker.version next
127
+ def vehicle
128
+ sample(vehicles)
129
+ end
130
+
131
+ def characters
132
+ translate('faker.tron.characters').values.flatten
133
+ end
134
+
135
+ def games
136
+ fetch_all('tron.games')
137
+ end
138
+
139
+ def locations
140
+ fetch_all('tron.locations')
141
+ end
142
+
143
+ def programs
144
+ fetch_all('tron.characters.programs')
145
+ end
146
+
147
+ def taglines
148
+ fetch_all('tron.taglines')
149
+ end
150
+
151
+ def users
152
+ fetch_all('tron.characters.users')
153
+ end
154
+
155
+ def vehicles
156
+ fetch_all('tron.vehicles')
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Movies
5
+ class VForVendetta < Base
6
+ class << self
7
+ ##
8
+ # Produces a character from V For Vendetta.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Movies::VForVendetta.character #=> "V"
14
+ #
15
+ # @faker.version 1.8.5
16
+ def character
17
+ fetch('v_for_vendetta.characters')
18
+ end
19
+
20
+ ##
21
+ # Produces a speech from V For Vendetta.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Movies::VForVendetta.speech
27
+ # #=> "Remember, remember, the Fifth of November, the Gunpowder Treason and Plot. I know of no reason why the Gunpowder Treason should ever be forgot..."
28
+ #
29
+ # @faker.version 1.8.5
30
+ def speech
31
+ fetch('v_for_vendetta.speeches')
32
+ end
33
+
34
+ ##
35
+ # Produces a quote from V For Vendetta.
36
+ #
37
+ # @return [String]
38
+ #
39
+ # @example
40
+ # Faker::Movies::VForVendetta.quote
41
+ # #=> "People should not be afraid of their governments. Governments should be afraid of their people."
42
+ #
43
+ # @faker.version 1.8.5
44
+ def quote
45
+ fetch('v_for_vendetta.quotes')
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'music'
4
+
5
+ module Faker
6
+ class Music
7
+ class GratefulDead < Base
8
+ class << self
9
+ ##
10
+ # Produces the name of a member of The Grateful Dead.
11
+ #
12
+ # @return [String]
13
+ #
14
+ # @example
15
+ # Faker::Music::GratefulDead.player #=> "Jerry Garcia"
16
+ #
17
+ # @faker.version 1.9.2
18
+ def player
19
+ fetch('grateful_dead.players')
20
+ end
21
+
22
+ ##
23
+ # Produces the name of a song by The Grateful Dead.
24
+ #
25
+ # @return [String]
26
+ #
27
+ # @example
28
+ # Faker::Music::GratefulDead.song #=> "Cassidy"
29
+ #
30
+ # @faker.version 1.9.2
31
+ def song
32
+ fetch('grateful_dead.songs')
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Music
5
+ class Hiphop < Base
6
+ class << self
7
+ ##
8
+ # Produces the name of a Hip Hop Artist
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Music::Hiphop.artist #=> "Lil Wayne"
14
+ #
15
+ # @faker.version next
16
+ def artist
17
+ fetch('music.hiphop.artist')
18
+ end
19
+
20
+ ##
21
+ # Produces the name of a Hip Hop Group
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Music::Hiphop.groups #=> "OVO"
27
+ #
28
+ # @faker.version next
29
+ def groups
30
+ fetch('music.hiphop.groups')
31
+ end
32
+
33
+ ##
34
+ # Produces the name of a Hip Hop Subgenre
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Music::Hiphop.subgeneres #=> "Alternative"
40
+ #
41
+ # @faker.version next
42
+ def subgenres
43
+ fetch('music.hiphop.subgenres')
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,145 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Music < Base
5
+ class << self
6
+ NOTE_LETTERS = %w[C D E F G A B].freeze
7
+ ACCIDENTAL_SIGNS = ['b', '#', ''].freeze
8
+ KEY_TYPES = ['', 'm'].freeze
9
+ CHORD_TYPES = ['', 'maj', '6', 'maj7', 'm', 'm7', '-7', '7', 'dom7', 'dim', 'dim7', 'm7b5'].freeze
10
+
11
+ ##
12
+ # Produces the name of a key/note, using letter notation.
13
+ #
14
+ # @return [String]
15
+ #
16
+ # @example
17
+ # Faker::Music.key #=> "A#"
18
+ #
19
+ # @faker.version 1.6.4
20
+ def key
21
+ sample(keys) + sample(key_variants)
22
+ end
23
+
24
+ ##
25
+ # Produces the name of a chord, using letter notation.
26
+ #
27
+ # @return [String]
28
+ #
29
+ # @example
30
+ # Faker::Music.chord #=> "Adim7"
31
+ #
32
+ # @faker.version 1.6.4
33
+ def chord
34
+ key + sample(chord_types)
35
+ end
36
+
37
+ ##
38
+ # Produces the name of an instrument.
39
+ #
40
+ # @return [String]
41
+ #
42
+ # @example
43
+ # Faker::Music.instrument #=> "Acoustic Guitar"
44
+ #
45
+ # @faker.version 1.6.4
46
+ def instrument
47
+ fetch('music.instruments')
48
+ end
49
+
50
+ ##
51
+ # Produces an array of the letter names of musical notes, without accidentals.
52
+ #
53
+ # @return [Array<String>]
54
+ #
55
+ # @faker.version 1.6.4
56
+ def keys
57
+ NOTE_LETTERS
58
+ end
59
+
60
+ ##
61
+ # Produces an array of accidentals (with "natural" denoted as an empty string).
62
+ #
63
+ # @return [Array<String>]
64
+ #
65
+ # @faker.version 1.6.4
66
+ def key_variants
67
+ ACCIDENTAL_SIGNS
68
+ end
69
+
70
+ ##
71
+ # Produces an array of key types (with "major" denoted as an empty string).
72
+ #
73
+ # @return [Array<String>]
74
+ #
75
+ # @example
76
+ # Faker::Music.key_types #=> ['', 'm']
77
+ #
78
+ # @faker.version 1.6.4
79
+ def key_types
80
+ KEY_TYPES
81
+ end
82
+
83
+ ##
84
+ # Produces an array of types of chords.
85
+ #
86
+ # @return [Array<String>]
87
+ #
88
+ # @faker.version 1.6.4
89
+ def chord_types
90
+ CHORD_TYPES
91
+ end
92
+
93
+ ##
94
+ # Produces the name of a band.
95
+ #
96
+ # @return [String]
97
+ #
98
+ # @example
99
+ # Faker::Music.band #=> "The Beatles"
100
+ #
101
+ # @faker.version 1.9.1
102
+ def band
103
+ fetch('music.bands')
104
+ end
105
+
106
+ ##
107
+ # Produces the name of an album.
108
+ #
109
+ # @return [String]
110
+ #
111
+ # @example
112
+ # Faker::Music.album #=> "Sgt. Pepper's Lonely Hearts Club"
113
+ #
114
+ # @faker.version 1.9.1
115
+ def album
116
+ fetch('music.albums')
117
+ end
118
+
119
+ ##
120
+ # Produces the name of a musical genre.
121
+ #
122
+ # @return [String]
123
+ #
124
+ # @example
125
+ # Faker::Music.genre #=> "Rock"
126
+ #
127
+ # @faker.version 1.9.1
128
+ def genre
129
+ fetch('music.genres')
130
+ end
131
+
132
+ ##
133
+ # Produces a name from Lou Bega's Mambo #5
134
+ #
135
+ # @return [String]
136
+ #
137
+ # @example
138
+ # Faker::Music.mambo #=> "Monica"
139
+ # @faker.version next
140
+ def mambo_no_5
141
+ fetch('music.mambo_no_5')
142
+ end
143
+ end
144
+ end
145
+ end