faker 1.8.6 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (623) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +1710 -9
  3. data/History.md +5 -5
  4. data/License.txt +2 -2
  5. data/README.md +331 -134
  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 +36 -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 +571 -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 +245 -0
  84. data/lib/faker/default/lorem_flickr.rb +110 -0
  85. data/lib/faker/default/lorem_pixel.rb +64 -0
  86. data/lib/faker/default/markdown.rb +170 -0
  87. data/lib/faker/default/marketing.rb +22 -0
  88. data/lib/faker/default/measurement.rb +175 -0
  89. data/lib/faker/default/military.rb +98 -0
  90. data/lib/faker/default/mountain.rb +33 -0
  91. data/lib/faker/default/name.rb +152 -0
  92. data/lib/faker/default/nation.rb +73 -0
  93. data/lib/faker/default/nato_phonetic_alphabet.rb +20 -0
  94. data/lib/faker/default/nhs.rb +53 -0
  95. data/lib/faker/default/number.rb +244 -0
  96. data/lib/faker/default/omniauth.rb +471 -0
  97. data/lib/faker/default/phone_number.rb +133 -0
  98. data/lib/faker/default/placeholdit.rb +52 -0
  99. data/lib/faker/default/programming_language.rb +33 -0
  100. data/lib/faker/default/relationship.rb +87 -0
  101. data/lib/faker/default/religion.rb +6 -0
  102. data/lib/faker/default/restaurant.rb +63 -0
  103. data/lib/faker/default/science.rb +154 -0
  104. data/lib/faker/default/slack_emoji.rb +124 -0
  105. data/lib/faker/default/source.rb +63 -0
  106. data/lib/faker/default/south_africa.rb +141 -0
  107. data/lib/faker/default/space.rb +191 -0
  108. data/lib/faker/default/string.rb +59 -0
  109. data/lib/faker/default/stripe.rb +126 -0
  110. data/lib/faker/default/subscription.rb +70 -0
  111. data/lib/faker/default/superhero.rb +72 -0
  112. data/lib/faker/default/tea.rb +41 -0
  113. data/lib/faker/default/team.rb +74 -0
  114. data/lib/faker/default/time.rb +149 -0
  115. data/lib/faker/default/twitter.rb +209 -0
  116. data/lib/faker/default/types.rb +160 -0
  117. data/lib/faker/default/university.rb +75 -0
  118. data/lib/faker/default/vehicle.rb +342 -0
  119. data/lib/faker/default/verb.rb +72 -0
  120. data/lib/faker/default/vulnerability_identifier.rb +23 -0
  121. data/lib/faker/default/world_cup.rb +77 -0
  122. data/lib/faker/fantasy/tolkien.rb +67 -0
  123. data/lib/faker/games/clash_of_clans.rb +48 -0
  124. data/lib/faker/games/control.rb +113 -0
  125. data/lib/faker/games/dnd.rb +136 -0
  126. data/lib/faker/games/dota.rb +89 -0
  127. data/lib/faker/games/elder_scrolls.rb +139 -0
  128. data/lib/faker/games/fallout.rb +62 -0
  129. data/lib/faker/games/game.rb +48 -0
  130. data/lib/faker/games/half_life.rb +48 -0
  131. data/lib/faker/games/heroes.rb +61 -0
  132. data/lib/faker/games/heroes_of_the_storm.rb +72 -0
  133. data/lib/faker/games/league_of_legends.rb +87 -0
  134. data/lib/faker/games/minecraft.rb +113 -0
  135. data/lib/faker/games/myst.rb +74 -0
  136. data/lib/faker/games/overwatch.rb +48 -0
  137. data/lib/faker/games/pokemon.rb +48 -0
  138. data/lib/faker/games/sonic_the_hedgehog.rb +48 -0
  139. data/lib/faker/games/street_fighter.rb +61 -0
  140. data/lib/faker/games/super_mario.rb +48 -0
  141. data/lib/faker/games/super_smash_bros.rb +35 -0
  142. data/lib/faker/games/tarkov.rb +205 -0
  143. data/lib/faker/games/touhou.rb +75 -0
  144. data/lib/faker/games/warhammer_fantasy.rb +74 -0
  145. data/lib/faker/games/witcher.rb +126 -0
  146. data/lib/faker/games/world_of_warcraft.rb +60 -0
  147. data/lib/faker/games/zelda.rb +62 -0
  148. data/lib/faker/japanese_media/conan.rb +48 -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 +110 -0
  194. data/lib/faker/sports/volleyball.rb +74 -0
  195. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +37 -0
  196. data/lib/faker/tv_shows/big_bang_theory.rb +37 -0
  197. data/lib/faker/tv_shows/bojack_horseman.rb +51 -0
  198. data/lib/faker/tv_shows/breaking_bad.rb +37 -0
  199. data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
  200. data/lib/faker/tv_shows/buffy.rb +89 -0
  201. data/lib/faker/tv_shows/community.rb +38 -0
  202. data/lib/faker/tv_shows/dr_who.rb +115 -0
  203. data/lib/faker/tv_shows/dumb_and_dumber.rb +51 -0
  204. data/lib/faker/tv_shows/family_guy.rb +51 -0
  205. data/lib/faker/tv_shows/final_space.rb +51 -0
  206. data/lib/faker/tv_shows/friends.rb +50 -0
  207. data/lib/faker/tv_shows/futurama.rb +65 -0
  208. data/lib/faker/tv_shows/game_of_thrones.rb +77 -0
  209. data/lib/faker/tv_shows/hey_arnold.rb +50 -0
  210. data/lib/faker/tv_shows/how_i_met_your_mother.rb +64 -0
  211. data/lib/faker/tv_shows/michael_scott.rb +23 -0
  212. data/lib/faker/tv_shows/new_girl.rb +38 -0
  213. data/lib/faker/tv_shows/parks_and_rec.rb +37 -0
  214. data/lib/faker/tv_shows/rick_and_morty.rb +51 -0
  215. data/lib/faker/tv_shows/ru_paul.rb +37 -0
  216. data/lib/faker/tv_shows/seinfeld.rb +51 -0
  217. data/lib/faker/tv_shows/silicon_valley.rb +118 -0
  218. data/lib/faker/tv_shows/simpsons.rb +65 -0
  219. data/lib/faker/tv_shows/south_park.rb +38 -0
  220. data/lib/faker/tv_shows/star_trek.rb +63 -0
  221. data/lib/faker/tv_shows/stargate.rb +51 -0
  222. data/lib/faker/tv_shows/stranger_things.rb +38 -0
  223. data/lib/faker/tv_shows/suits.rb +37 -0
  224. data/lib/faker/tv_shows/supernatural.rb +48 -0
  225. data/lib/faker/tv_shows/the_expanse.rb +63 -0
  226. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +64 -0
  227. data/lib/faker/tv_shows/the_it_crowd.rb +64 -0
  228. data/lib/faker/tv_shows/the_office.rb +37 -0
  229. data/lib/faker/tv_shows/the_thick_of_it.rb +51 -0
  230. data/lib/faker/tv_shows/twin_peaks.rb +51 -0
  231. data/lib/faker/tv_shows/venture_bros.rb +65 -0
  232. data/lib/faker/version.rb +4 -2
  233. data/lib/faker.rb +108 -67
  234. data/lib/helpers/base58.rb +22 -0
  235. data/lib/helpers/char.rb +31 -35
  236. data/lib/helpers/unique_generator.rb +34 -6
  237. data/lib/locales/README.md +8 -9
  238. data/lib/locales/ar.yml +106 -0
  239. data/lib/locales/bg.yml +5 -2
  240. data/lib/locales/ca-CAT.yml +1 -1
  241. data/lib/locales/ca.yml +2 -4
  242. data/lib/locales/da-DK.yml +10 -6
  243. data/lib/locales/de-AT.yml +14 -5
  244. data/lib/locales/de-CH.yml +1696 -1
  245. data/lib/locales/de.yml +26 -12
  246. data/lib/locales/ee.yml +61 -0
  247. data/lib/locales/en/address.yml +500 -3
  248. data/lib/locales/en/adjective.yml +179 -0
  249. data/lib/locales/en/animal.yml +6 -0
  250. data/lib/locales/en/appliance.yml +5 -0
  251. data/lib/locales/en/aqua_teen_hunger_force.yml +33 -1
  252. data/lib/locales/en/australia.yml +107 -0
  253. data/lib/locales/en/bank.yml +275 -60
  254. data/lib/locales/en/barcode.yml +24 -0
  255. data/lib/locales/en/basketball.yml +99 -0
  256. data/lib/locales/en/beer.yml +2 -1
  257. data/lib/locales/en/bible.yml +90 -0
  258. data/lib/locales/en/big_bang_theory.yml +38 -0
  259. data/lib/locales/en/bird.yml +1281 -0
  260. data/lib/locales/en/blood.yml +13 -0
  261. data/lib/locales/en/bojack_horseman.yml +6 -0
  262. data/lib/locales/en/book.yml +487 -3
  263. data/lib/locales/en/brooklyn_nine_nine.yml +35 -0
  264. data/lib/locales/en/buffy.yml +260 -0
  265. data/lib/locales/en/camera.yml +611 -0
  266. data/lib/locales/en/cannabis.yml +13 -0
  267. data/lib/locales/en/cat.yml +5 -4
  268. data/lib/locales/en/chiquito.yml +64 -0
  269. data/lib/locales/en/clash_of_clan.yml +101 -0
  270. data/lib/locales/en/coffee.yml +1 -1
  271. data/lib/locales/en/coin.yml +6 -0
  272. data/lib/locales/en/color.yml +1 -1
  273. data/lib/locales/en/commerce.yml +17 -0
  274. data/lib/locales/en/community.yml +33 -0
  275. data/lib/locales/en/company.yml +4 -2
  276. data/lib/locales/en/computer.yml +55 -0
  277. data/lib/locales/en/conan.yml +171 -0
  278. data/lib/locales/en/construction.yml +425 -0
  279. data/lib/locales/en/control.yml +247 -0
  280. data/lib/locales/en/cosmere.yml +57 -0
  281. data/lib/locales/en/crypto_coin.yml +25 -0
  282. data/lib/locales/en/culture_series.yml +307 -0
  283. data/lib/locales/en/currency.yml +6 -0
  284. data/lib/locales/en/dc_comics.yml +52 -0
  285. data/lib/locales/en/demographic.yml +218 -5
  286. data/lib/locales/en/departed.yml +50 -0
  287. data/lib/locales/en/dessert.yml +3 -3
  288. data/lib/locales/en/device.yml +115 -0
  289. data/lib/locales/en/dnd.yml +451 -0
  290. data/lib/locales/en/dog.yml +9 -9
  291. data/lib/locales/en/doraemon.yml +286 -0
  292. data/lib/locales/en/dota.yml +693 -0
  293. data/lib/locales/en/dr_who.yml +6 -2
  294. data/lib/locales/en/dragon_ball.yml +243 -1
  295. data/lib/locales/en/driving_license.yml +181 -0
  296. data/lib/locales/en/drone.yml +95 -0
  297. data/lib/locales/en/dumb_and_dumber.yml +1 -1
  298. data/lib/locales/en/dune.yml +270 -131
  299. data/lib/locales/en/educator.yml +76 -6
  300. data/lib/locales/en/elder_scrolls.yml +583 -5
  301. data/lib/locales/en/electrical_components.yml +6 -0
  302. data/lib/locales/en/emotion.yml +480 -0
  303. data/lib/locales/en/esport.yml +5 -5
  304. data/lib/locales/en/fallout.yml +313 -134
  305. data/lib/locales/en/file.yml +9 -1
  306. data/lib/locales/en/final_space.yml +37 -0
  307. data/lib/locales/en/finance.yml +139 -0
  308. data/lib/locales/en/fma_brotherhood.yml +78 -0
  309. data/lib/locales/en/food.yml +1054 -6
  310. data/lib/locales/en/football.yml +8 -0
  311. data/lib/locales/en/fresh_prince_of_bel_air.yml +1 -1
  312. data/lib/locales/en/friends.yml +3 -3
  313. data/lib/locales/en/futurama.yml +344 -0
  314. data/lib/locales/en/game.yml +294 -0
  315. data/lib/locales/en/gender.yml +6 -0
  316. data/lib/locales/en/ghostbusters.yml +91 -0
  317. data/lib/locales/en/grateful_dead.yml +48 -0
  318. data/lib/locales/en/greek_philosophers.yml +26 -0
  319. data/lib/locales/en/hackers.yml +53 -0
  320. data/lib/locales/en/half_life.yml +88 -0
  321. data/lib/locales/en/harry_potter.yml +2 -1
  322. data/lib/locales/en/heroes.yml +411 -0
  323. data/lib/locales/en/heroes_of_the_storm.yml +134 -0
  324. data/lib/locales/en/hobby.yml +171 -0
  325. data/lib/locales/en/horse.yml +6 -0
  326. data/lib/locales/en/house.yml +5 -0
  327. data/lib/locales/en/how_to_train_your_dragon.yml +174 -0
  328. data/lib/locales/en/industry_segments.yml +7 -0
  329. data/lib/locales/en/internet.yml +137 -3
  330. data/lib/locales/en/invoice.yml +6 -0
  331. data/lib/locales/en/jack_handey.yml +54 -0
  332. data/lib/locales/en/job.yml +4 -2
  333. data/lib/locales/en/kamen_rider.yml +452 -0
  334. data/lib/locales/en/kpop.yml +8 -8
  335. data/lib/locales/en/league_of_legends.yml +287 -7
  336. data/lib/locales/en/lebowski.yml +1 -1
  337. data/lib/locales/en/lorem.yml +6 -0
  338. data/lib/locales/en/lovecraft.yml +76 -6
  339. data/lib/locales/en/marketing.yml +4 -0
  340. data/lib/locales/en/michael_scott.yml +45 -0
  341. data/lib/locales/en/military.yml +182 -0
  342. data/lib/locales/en/minecraft.yml +663 -0
  343. data/lib/locales/en/mountain.yml +171 -0
  344. data/lib/locales/en/mountaineering.yml +14 -0
  345. data/lib/locales/en/movie.yml +194 -2
  346. data/lib/locales/en/music.yml +461 -1
  347. data/lib/locales/en/myst.yml +104 -0
  348. data/lib/locales/en/name.yml +15 -14
  349. data/lib/locales/en/naruto.yml +230 -0
  350. data/lib/locales/en/nation.yml +11 -0
  351. data/lib/locales/en/nato_phonetic_alphabet.yml +4 -0
  352. data/lib/locales/en/new_girl.yml +40 -0
  353. data/lib/locales/en/one_piece.yml +2 -2
  354. data/lib/locales/en/opera.yml +340 -0
  355. data/lib/locales/en/overwatch.yml +2650 -33
  356. data/lib/locales/en/parks_and_rec.yml +7 -0
  357. data/lib/locales/en/pearl_jam.yml +213 -0
  358. data/lib/locales/en/phish.yml +395 -0
  359. data/lib/locales/en/phone_number.yml +2 -1
  360. data/lib/locales/en/pokemon.yml +419 -5
  361. data/lib/locales/en/prince.yml +227 -0
  362. data/lib/locales/en/princess_bride.yml +5 -0
  363. data/lib/locales/en/programming_language.yml +2 -1
  364. data/lib/locales/en/quote.yml +695 -0
  365. data/lib/locales/en/rajnikanth.yml +77 -0
  366. data/lib/locales/en/relationship.yml +10 -0
  367. data/lib/locales/en/restaurant.yml +129 -0
  368. data/lib/locales/en/rock_band.yml +1 -0
  369. data/lib/locales/en/room.yml +68 -0
  370. data/lib/locales/en/rupaul.yml +51 -21
  371. data/lib/locales/en/rush.yml +32 -0
  372. data/lib/locales/en/science.yml +481 -2
  373. data/lib/locales/en/seinfeld.yml +3 -2
  374. data/lib/locales/en/shakespeare.yml +23 -26
  375. data/lib/locales/en/show.yml +597 -0
  376. data/lib/locales/en/silicon_valley.yml +1 -0
  377. data/lib/locales/en/simpsons.yml +668 -0
  378. data/lib/locales/en/sonic_the_hedgehog.yml +410 -0
  379. data/lib/locales/en/source.yml +51 -0
  380. data/lib/locales/en/south_park.yml +5 -0
  381. data/lib/locales/en/space.yml +3 -2
  382. data/lib/locales/en/sport.yml +130 -0
  383. data/lib/locales/en/star_trek.yml +1 -1
  384. data/lib/locales/en/star_wars.yml +568 -210
  385. data/lib/locales/en/stargate.yml +1 -2
  386. data/lib/locales/en/stranger_thing.yml +36 -0
  387. data/lib/locales/en/street_fighter.yml +1524 -0
  388. data/lib/locales/en/stripe.yml +42 -0
  389. data/lib/locales/en/studio_ghibli.yml +107 -0
  390. data/lib/locales/en/subscription.yml +8 -0
  391. data/lib/locales/en/suits.yml +45 -0
  392. data/lib/locales/en/super_mario.yml +58 -0
  393. data/lib/locales/en/super_smash_bros.yml +223 -0
  394. data/lib/locales/en/supernatural.yml +141 -0
  395. data/lib/locales/en/sword_art_online.yml +334 -0
  396. data/lib/locales/en/tarkov.yml +593 -0
  397. data/lib/locales/en/tea.yml +172 -0
  398. data/lib/locales/en/team.yml +1 -1
  399. data/lib/locales/en/the_expanse.yml +7 -0
  400. data/lib/locales/en/the_it_crowd.yml +155 -0
  401. data/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
  402. data/lib/locales/en/the_office.yml +86 -0
  403. data/lib/locales/en/tolkien.yml +2453 -0
  404. data/lib/locales/en/touhou.yml +839 -0
  405. data/lib/locales/en/tron.yml +227 -0
  406. data/lib/locales/en/vehicle.yml +2810 -48
  407. data/lib/locales/en/verbs.yml +8 -0
  408. data/lib/locales/en/volleyball.yml +501 -0
  409. data/lib/locales/en/warhammer_fantasy.yml +582 -0
  410. data/lib/locales/en/witcher.yml +428 -8
  411. data/lib/locales/en/world_cup.yml +271 -0
  412. data/lib/locales/en/world_of_warcraft.yml +124 -5
  413. data/lib/locales/en/zelda.yml +964 -5
  414. data/lib/locales/en-AU.yml +50 -8
  415. data/lib/locales/en-CA.yml +28 -2
  416. data/lib/locales/en-GB.yml +2 -1
  417. data/lib/locales/en-IND.yml +5 -2
  418. data/lib/locales/en-MS.yml +8 -1
  419. data/lib/locales/en-NEP.yml +6 -3
  420. data/lib/locales/en-NG.yml +2 -0
  421. data/lib/locales/en-NZ.yml +140 -17
  422. data/lib/locales/en-PAK.yml +4 -2
  423. data/lib/locales/en-SG.yml +6 -1
  424. data/lib/locales/en-TH.yml +360 -0
  425. data/lib/locales/en-US.yml +38 -10
  426. data/lib/locales/en-ZA.yml +114 -17
  427. data/lib/locales/en-au-ocker.yml +2 -1
  428. data/lib/locales/en.yml +0 -1
  429. data/lib/locales/es-AR.yml +4600 -0
  430. data/lib/locales/es-MX.yml +17 -1
  431. data/lib/locales/es.yml +75 -1
  432. data/lib/locales/fa.yml +6 -0
  433. data/lib/locales/fi-FI.yml +14 -7
  434. data/lib/locales/fr/address.yml +21 -0
  435. data/lib/locales/fr/adjective.yml +266 -0
  436. data/lib/locales/fr/ancient.yml +141 -0
  437. data/lib/locales/fr/animal.yml +5 -0
  438. data/lib/locales/fr/appliance.yml +4 -0
  439. data/lib/locales/fr/book.yml +7 -0
  440. data/lib/locales/fr/color.yml +4 -0
  441. data/lib/locales/fr/company.yml +17 -0
  442. data/lib/locales/fr/compass.yml +23 -0
  443. data/lib/locales/fr/demographic.yml +4 -0
  444. data/lib/locales/fr/gender.yml +6 -0
  445. data/lib/locales/fr/internet.yml +5 -0
  446. data/lib/locales/fr/lorem.yml +5 -0
  447. data/lib/locales/fr/measurement.yml +7 -0
  448. data/lib/locales/fr/name.yml +21 -0
  449. data/lib/locales/fr/phone_number.yml +7 -0
  450. data/lib/locales/fr/pokemon.yml +7 -0
  451. data/lib/locales/fr-CA.yml +107 -0
  452. data/lib/locales/fr-CH.yml +78 -0
  453. data/lib/locales/fr.yml +1 -66
  454. data/lib/locales/he.yml +2 -0
  455. data/lib/locales/hy.yml +411 -0
  456. data/lib/locales/id.yml +7 -2
  457. data/lib/locales/it.yml +15 -3
  458. data/lib/locales/ja/README.md +13 -0
  459. data/lib/locales/ja/address.yml +120539 -0
  460. data/lib/locales/ja/adjective.yml +148 -0
  461. data/lib/locales/ja/ancient.yml +4 -0
  462. data/lib/locales/ja/animal.yml +5 -0
  463. data/lib/locales/ja/bank.yml +4 -0
  464. data/lib/locales/ja/book.yml +7 -0
  465. data/lib/locales/ja/cat.yml +5 -0
  466. data/lib/locales/ja/coffee.yml +4 -0
  467. data/lib/locales/ja/color.yml +4 -0
  468. data/lib/locales/ja/commerce.yml +11 -0
  469. data/lib/locales/ja/company.yml +8 -0
  470. data/lib/locales/ja/dog.yml +6 -0
  471. data/lib/locales/ja/emotion.yml +51 -0
  472. data/lib/locales/ja/food.yml +4 -0
  473. data/lib/locales/ja/gender.yml +4 -0
  474. data/lib/locales/ja/lorem.yml +9 -0
  475. data/lib/locales/ja/name.yml +13 -0
  476. data/lib/locales/ja/naruto.yml +230 -0
  477. data/lib/locales/ja/overwatch.yml +5 -0
  478. data/lib/locales/ja/phone_number.yml +7 -0
  479. data/lib/locales/ja/pokemon.yml +7 -0
  480. data/lib/locales/ja/relationship.yml +10 -0
  481. data/lib/locales/ja/restaurant.yml +11 -0
  482. data/lib/locales/ja/space.yml +5 -0
  483. data/lib/locales/ja/studio_ghibli.yml +112 -0
  484. data/lib/locales/ja/subscription.yml +8 -0
  485. data/lib/locales/ja/super_mario.yml +9 -0
  486. data/lib/locales/ja/super_smash_bros.yml +8 -0
  487. data/lib/locales/ja/university.yml +9 -0
  488. data/lib/locales/ja/zelda.yml +5 -0
  489. data/lib/locales/ko.yml +96 -2
  490. data/lib/locales/lt.yml +35 -0
  491. data/lib/locales/lv.yml +55 -0
  492. data/lib/locales/mi-NZ.yml +281 -0
  493. data/lib/locales/nb-NO.yml +15 -6
  494. data/lib/locales/nl.yml +13 -4
  495. data/lib/locales/no.yml +7 -0
  496. data/lib/locales/pl.yml +13 -2
  497. data/lib/locales/pt-BR.yml +631 -18
  498. data/lib/locales/pt.yml +16 -6
  499. data/lib/locales/ru.yml +45 -2
  500. data/lib/locales/sk.yml +21 -13
  501. data/lib/locales/sv.yml +15 -7
  502. data/lib/locales/th.yml +380 -0
  503. data/lib/locales/tr.yml +14 -0
  504. data/lib/locales/uk.yml +17 -4
  505. data/lib/locales/vi.yml +7 -2
  506. data/lib/locales/zh-CN.yml +4 -4
  507. data/lib/locales/zh-TW.yml +3 -1
  508. metadata +563 -128
  509. data/lib/extensions/array.rb +0 -22
  510. data/lib/extensions/symbol.rb +0 -9
  511. data/lib/faker/address.rb +0 -67
  512. data/lib/faker/ancient.rb +0 -21
  513. data/lib/faker/app.rb +0 -23
  514. data/lib/faker/aqua_teen_hunger_force.rb +0 -9
  515. data/lib/faker/artist.rb +0 -9
  516. data/lib/faker/avatar.rb +0 -15
  517. data/lib/faker/back_to_the_future.rb +0 -17
  518. data/lib/faker/bank.rb +0 -37
  519. data/lib/faker/beer.rb +0 -40
  520. data/lib/faker/bitcoin.rb +0 -48
  521. data/lib/faker/book.rb +0 -23
  522. data/lib/faker/boolean.rb +0 -9
  523. data/lib/faker/bossa_nova.rb +0 -13
  524. data/lib/faker/breaking_bad.rb +0 -16
  525. data/lib/faker/business.rb +0 -22
  526. data/lib/faker/cat.rb +0 -19
  527. data/lib/faker/chuck_norris.rb +0 -11
  528. data/lib/faker/code.rb +0 -147
  529. data/lib/faker/coffee.rb +0 -29
  530. data/lib/faker/color.rb +0 -30
  531. data/lib/faker/commerce.rb +0 -64
  532. data/lib/faker/company.rb +0 -162
  533. data/lib/faker/compass.rb +0 -65
  534. data/lib/faker/crypto.rb +0 -19
  535. data/lib/faker/date.rb +0 -78
  536. data/lib/faker/demographic.rb +0 -35
  537. data/lib/faker/dessert.rb +0 -19
  538. data/lib/faker/dog.rb +0 -39
  539. data/lib/faker/dr_who.rb +0 -34
  540. data/lib/faker/dragon_ball.rb +0 -9
  541. data/lib/faker/dumb_and_dumber.rb +0 -17
  542. data/lib/faker/dune.rb +0 -54
  543. data/lib/faker/educator.rb +0 -23
  544. data/lib/faker/elder_scrolls.rb +0 -21
  545. data/lib/faker/esport.rb +0 -25
  546. data/lib/faker/fallout.rb +0 -21
  547. data/lib/faker/family_guy.rb +0 -17
  548. data/lib/faker/file.rb +0 -24
  549. data/lib/faker/fillmurray.rb +0 -14
  550. data/lib/faker/finance.rb +0 -28
  551. data/lib/faker/food.rb +0 -25
  552. data/lib/faker/friends.rb +0 -17
  553. data/lib/faker/funny_name.rb +0 -43
  554. data/lib/faker/game_of_thrones.rb +0 -25
  555. data/lib/faker/hacker.rb +0 -45
  556. data/lib/faker/harry_potter.rb +0 -25
  557. data/lib/faker/hey_arnold.rb +0 -17
  558. data/lib/faker/hipster.rb +0 -59
  559. data/lib/faker/hitchhikers_guide_to_the_galaxy.rb +0 -33
  560. data/lib/faker/hobbit.rb +0 -21
  561. data/lib/faker/how_i_met_your_mother.rb +0 -21
  562. data/lib/faker/id_number.rb +0 -36
  563. data/lib/faker/internet.rb +0 -178
  564. data/lib/faker/job.rb +0 -16
  565. data/lib/faker/kpop.rb +0 -29
  566. data/lib/faker/league_of_legends.rb +0 -29
  567. data/lib/faker/lebowski.rb +0 -17
  568. data/lib/faker/lord_of_the_rings.rb +0 -13
  569. data/lib/faker/lorem.rb +0 -68
  570. data/lib/faker/lorem_pixel.rb +0 -21
  571. data/lib/faker/lovecraft.rb +0 -73
  572. data/lib/faker/markdown.rb +0 -67
  573. data/lib/faker/matz.rb +0 -9
  574. data/lib/faker/measurement.rb +0 -127
  575. data/lib/faker/most_interesting_man_in_the_world.rb +0 -9
  576. data/lib/faker/movie.rb +0 -9
  577. data/lib/faker/music.rb +0 -33
  578. data/lib/faker/name.rb +0 -46
  579. data/lib/faker/number.rb +0 -86
  580. data/lib/faker/omniauth.rb +0 -340
  581. data/lib/faker/one_piece.rb +0 -29
  582. data/lib/faker/overwatch.rb +0 -17
  583. data/lib/faker/phone_number.rb +0 -44
  584. data/lib/faker/placeholdit.rb +0 -20
  585. data/lib/faker/pokemon.rb +0 -17
  586. data/lib/faker/programming_language.rb +0 -13
  587. data/lib/faker/rick_and_morty.rb +0 -17
  588. data/lib/faker/robin.rb +0 -9
  589. data/lib/faker/rock_band.rb +0 -9
  590. data/lib/faker/rupaul.rb +0 -15
  591. data/lib/faker/science.rb +0 -15
  592. data/lib/faker/seinfeld.rb +0 -13
  593. data/lib/faker/shakespeare.rb +0 -40
  594. data/lib/faker/silicon_valley.rb +0 -33
  595. data/lib/faker/simpsons.rb +0 -22
  596. data/lib/faker/slack_emoji.rb +0 -43
  597. data/lib/faker/space.rb +0 -58
  598. data/lib/faker/star_trek.rb +0 -21
  599. data/lib/faker/star_wars.rb +0 -102
  600. data/lib/faker/stargate.rb +0 -17
  601. data/lib/faker/superhero.rb +0 -25
  602. data/lib/faker/team.rb +0 -24
  603. data/lib/faker/the_fresh_prince_of_bel_air.rb +0 -17
  604. data/lib/faker/the_thick_of_it.rb +0 -17
  605. data/lib/faker/time.rb +0 -51
  606. data/lib/faker/twin_peaks.rb +0 -17
  607. data/lib/faker/twitter.rb +0 -172
  608. data/lib/faker/types.rb +0 -93
  609. data/lib/faker/umphreys_mcgee.rb +0 -9
  610. data/lib/faker/university.rb +0 -28
  611. data/lib/faker/v_for_vendetta.rb +0 -17
  612. data/lib/faker/vehicle.rb +0 -39
  613. data/lib/faker/venture_bros.rb +0 -21
  614. data/lib/faker/witcher.rb +0 -29
  615. data/lib/faker/world_of_warcraft.rb +0 -13
  616. data/lib/faker/yoda.rb +0 -10
  617. data/lib/faker/zelda.rb +0 -22
  618. data/lib/locales/en/hobbit.yml +0 -19
  619. data/lib/locales/en/lord_of_the_rings.yml +0 -5
  620. data/lib/locales/en/matz.yml +0 -28
  621. data/lib/locales/en/most_interesting_man_in_the_world.yml +0 -106
  622. data/lib/locales/en/robin.yml +0 -4
  623. data/lib/locales/ja.yml +0 -47
@@ -0,0 +1,249 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Books
5
+ class Lovecraft < Base
6
+ class << self
7
+ ##
8
+ # Produces the name of a location
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Books::Lovecraft.location #=> "Kingsport"
14
+ #
15
+ # @faker.version 1.9.3
16
+ def location
17
+ fetch('lovecraft.location')
18
+ end
19
+
20
+ ##
21
+ # @param number [Integer] The number of times to repeat the chant
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::Books::Lovecraft.fhtagn
26
+ # #=> "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn"
27
+ # @example
28
+ # Faker::Books::Lovecraft.fhtagn(number: 3)
29
+ # #=> "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fht...
30
+ #
31
+ # @faker.version 1.9.3
32
+ def fhtagn(number: 1)
33
+ Array.new(number) { fetch('lovecraft.fhtagn') }.join('. ')
34
+ end
35
+
36
+ ##
37
+ # Produces the name of a deity
38
+ #
39
+ # @return [String]
40
+ #
41
+ # @example
42
+ # Faker::Books::Lovecraft.deity #=> "Shub-Niggurath"
43
+ #
44
+ # @faker.version 1.9.3
45
+ def deity
46
+ fetch('lovecraft.deity')
47
+ end
48
+
49
+ ##
50
+ # Produces the name of a tome
51
+ #
52
+ # @return [String]
53
+ #
54
+ # @example
55
+ # Faker::Books::Lovecraft.tome #=> "Book of Eibon"
56
+ #
57
+ # @faker.version 1.9.3
58
+ def tome
59
+ fetch('lovecraft.tome')
60
+ end
61
+
62
+ ##
63
+ # Produces a random sentence
64
+ #
65
+ # @param word_count [Integer] The number of words to have in the sentence
66
+ # @param random_words_to_add [Integer]
67
+ # @param open_compounds_allowed [Boolean] If true, generated sentence can contain words having additional spaces
68
+ #
69
+ # @return [String]
70
+ #
71
+ # @example
72
+ # Faker::Books::Lovecraft.sentence
73
+ # #=> "Furtive antiquarian squamous dank cat loathsome amorphous lurk."
74
+ # @example
75
+ # Faker::Books::Lovecraft.sentence(word_count: 3)
76
+ # #=> "Daemoniac antediluvian fainted squamous comprehension gambrel nameless singular."
77
+ # @example
78
+ # Faker::Books::Lovecraft.sentence(word_count: 3, random_words_to_add: 1)
79
+ # #=> "Amorphous indescribable tenebrous."
80
+ # @example
81
+ # Faker::Books::Lovecraft.sentence(word_count: 3, random_words_to_add: 0, open_compounds_allowed: true)
82
+ # #=> "Effulgence unmentionable gambrel."
83
+ #
84
+ # @faker.version 1.9.3
85
+ def sentence(word_count: 4, random_words_to_add: 6, open_compounds_allowed: true)
86
+ "#{words(number: word_count + rand(random_words_to_add.to_i).to_i, spaces_allowed: open_compounds_allowed).join(' ').capitalize}."
87
+ end
88
+
89
+ ##
90
+ # Produces a random word
91
+ #
92
+ # @return [String]
93
+ #
94
+ # @example
95
+ # Faker::Books::Lovecraft.word #=> "furtive"
96
+ #
97
+ # @faker.version 1.9.3
98
+ def word
99
+ random_word = sample(translate('faker.lovecraft.words'))
100
+ random_word =~ /\s/ ? word : random_word
101
+ end
102
+
103
+ ##
104
+ # Produces a array of random words
105
+ #
106
+ # @param number [Integer] Number of words to generate
107
+ # @param spaces_allowed [Boolean] If true, generated words can contain spaces
108
+ #
109
+ # @return [Array<String>]
110
+ #
111
+ # @example
112
+ # Faker::Books::Lovecraft.words
113
+ # #=> [
114
+ # # "manuscript",
115
+ # # "abnormal",
116
+ # # "singular",
117
+ # # ]
118
+ # @example
119
+ # Faker::Books::Lovecraft.words(number: 2)
120
+ # #=> [
121
+ # # "daemoniac",
122
+ # # "cat",
123
+ # # ]
124
+ # @example
125
+ # Faker::Books::Lovecraft.words(number: 2, spaces_allowed: 1)
126
+ # #=> [
127
+ # # "lurk",
128
+ # # "charnel",
129
+ # # ]
130
+ #
131
+ # @faker.version 1.9.3
132
+ def words(number: 3, spaces_allowed: false)
133
+ resolved_num = resolve(number)
134
+ word_list = translate('faker.lovecraft.words')
135
+ word_list *= ((resolved_num / word_list.length) + 1)
136
+
137
+ return shuffle(word_list)[0, resolved_num] if spaces_allowed
138
+
139
+ words = shuffle(word_list)[0, resolved_num]
140
+ words.each_with_index { |w, i| words[i] = word if w =~ /\s/ }
141
+ end
142
+
143
+ ##
144
+ # Produces a array of random sentences
145
+ #
146
+ # @param number [Integer] Number of sentences to generate
147
+ #
148
+ # @return [Array<String>]
149
+ #
150
+ # @example
151
+ # Faker::Books::Lovecraft.sentences
152
+ # #=> [
153
+ # # "Nameless loathsome decadent gambrel.",
154
+ # # "Ululate swarthy immemorial cat madness gibbous unmentionable unnamable.",
155
+ # # "Decadent antediluvian non-euclidean tentacles amorphous tenebrous.",
156
+ # # ]
157
+ # @example
158
+ # Faker::Books::Lovecraft.sentences(number: 2)
159
+ # #=> [
160
+ # # "Antediluvian amorphous unmentionable singular accursed squamous immemorial.",
161
+ # # "Gambrel daemoniac gibbous stygian shunned ululate iridescence abnormal.",
162
+ # # ]
163
+ #
164
+ # @faker.version 1.9.3
165
+ def sentences(number: 3)
166
+ [].tap do |sentences|
167
+ 1.upto(resolve(number)) do
168
+ sentences << sentence(word_count: 3)
169
+ end
170
+ end
171
+ end
172
+
173
+ ##
174
+ # Produces a random paragraph
175
+ #
176
+ # @param sentence_count [Integer] Number of sentences to generate
177
+ # @param random_sentences_to_add [Integer]
178
+ #
179
+ # @return [String]
180
+ #
181
+ # @example
182
+ # Faker::Books::Lovecraft.paragraph
183
+ # #=> "Squamous nameless daemoniac fungus ululate. Cyclopean stygian decadent loathsome manuscript tenebrous. Foetid abnormal stench. Dank non-euclidean comprehension eldritch. Charnel singular shunned lurk effulgence fungus."
184
+ # @example
185
+ # Faker::Books::Lovecraft.paragraph(sentence_count: 2)
186
+ # #=> "Decadent lurk tenebrous loathsome furtive spectral amorphous gibbous. Gambrel eldritch daemoniac cat madness comprehension stygian effulgence."
187
+ # @example
188
+ # Faker::Books::Lovecraft.paragraph(sentence_count: 1, random_sentences_to_add: 1)
189
+ # #=> "Stench cyclopean fainted antiquarian nameless. Antiquarian ululate tenebrous non-euclidean effulgence."
190
+ #
191
+ # @faker.version 1.9.3
192
+ def paragraph(sentence_count: 3, random_sentences_to_add: 3)
193
+ sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i).to_i).join(' ')
194
+ end
195
+
196
+ ##
197
+ # Produces a array of random paragraphs
198
+ #
199
+ # @param number [Integer] Number of paragraphs to generate
200
+ #
201
+ # @return [Array<String>]
202
+ #
203
+ # @example
204
+ # Faker::Books::Lovecraft.paragraphs
205
+ # #=> [
206
+ # # "Noisome daemoniac gibbous abnormal antediluvian. Unutterable fung...
207
+ # # "Non-euclidean immemorial indescribable accursed furtive. Dank unn...
208
+ # # "Charnel antediluvian unnamable cat blasphemous comprehension tene...
209
+ # # ]
210
+ # @example
211
+ # Faker::Books::Lovecraft.paragraphs(number: 2)
212
+ # #=> [
213
+ # # "Hideous amorphous manuscript antediluvian non-euclidean cat eldri...
214
+ # # "Tenebrous unnamable comprehension antediluvian lurk. Lurk spectra...
215
+ # # ]
216
+ #
217
+ # @faker.version 1.9.3
218
+ def paragraphs(number: 3)
219
+ [].tap do |paragraphs|
220
+ 1.upto(resolve(number)) do
221
+ paragraphs << paragraph(sentence_count: 3)
222
+ end
223
+ end
224
+ end
225
+
226
+ ##
227
+ # @param characters [Integer] Number of characters to generate in the paragraph
228
+ #
229
+ # @return [String]
230
+ #
231
+ # @example
232
+ # Faker::Books::Lovecraft.paragraph_by_chars
233
+ # #=> "Truffaut stumptown trust fund 8-bit messenger bag portland. Meh kombucha selvage swag biodiesel. Lomo kinfolk jean shorts asymmetrical diy. Wayfarers portland twee stumptown. Wes anderson biodiesel retro 90's pabst. Diy echo 90's mixtape semiotics. Cornho."
234
+ # @example
235
+ # Faker::Books::Lovecraft.paragraph_by_chars(characters: 128)
236
+ # #=> "Effulgence madness noisome. Fungus stygian mortal madness amorphous dank. Decadent noisome hideous effulgence. Tentacles charne."
237
+ #
238
+ # @faker.version 1.9.3
239
+ def paragraph_by_chars(characters: 256)
240
+ paragraph = paragraph(sentence_count: 3)
241
+
242
+ paragraph += " #{paragraph(sentence_count: 3)}" while paragraph.length < characters
243
+
244
+ "#{paragraph[0...characters - 1]}."
245
+ end
246
+ end
247
+ end
248
+ end
249
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Books
5
+ class TheKingkillerChronicle < Base
6
+ class << self
7
+ ##
8
+ # Produces the name of a The Kingkiller Chronicle book.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Books::TheKingkillerChronicle.book #=> "The Name of the Wind"
14
+ #
15
+ # @faker.version next
16
+ def book
17
+ fetch('books.the_kingkiller_chronicle.books')
18
+ end
19
+
20
+ ##
21
+ # Produces the name of a The Kingkiller Chronicle character.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Books::TheKingkillerChronicle.character #=> "Kvothe"
27
+ #
28
+ # @faker.version next
29
+ def character
30
+ fetch('books.the_kingkiller_chronicle.characters')
31
+ end
32
+
33
+ ##
34
+ # Produces the name of a The Kingkiller Chronicle creature.
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Books::TheKingkillerChronicle.creature #=> "Scrael"
40
+ #
41
+ # @faker.version next
42
+ def creature
43
+ fetch('books.the_kingkiller_chronicle.creatures')
44
+ end
45
+
46
+ ##
47
+ # Produces the name of a The Kingkiller Chronicle location.
48
+ #
49
+ # @return [String]
50
+ #
51
+ # @example
52
+ # Faker::Books::TheKingkillerChronicle.location #=> "Tarbean"
53
+ #
54
+ # @faker.version next
55
+ def location
56
+ fetch('books.the_kingkiller_chronicle.locations')
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Creature
5
+ class Animal < Base
6
+ class << self
7
+ ##
8
+ # Produces a random animal name
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Creature::Animal.name #=> "fly"
14
+ #
15
+ # @faker.version 1.9.2
16
+ def name
17
+ fetch('creature.animal.name')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,203 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Creature
5
+ class Bird < Base
6
+ flexible :bird
7
+
8
+ class << self
9
+ ##
10
+ # Produces a random common family name of a bird.
11
+ #
12
+ # @return [String]
13
+ #
14
+ # @example
15
+ # Faker::Creature::Bird.common_family_name #=> "Owls"
16
+ #
17
+ # @faker.version next
18
+ def common_family_name
19
+ fetch('creature.bird.common_family_name')
20
+ end
21
+
22
+ ##
23
+ # Produces a random common taxonomic order from the class Aves
24
+ #
25
+ # @return [String]
26
+ #
27
+ # @example
28
+ # Faker::Creature::Bird.order #=> "Passeriformes"
29
+ #
30
+ # @faker.version next
31
+ def order
32
+ orders = I18n.translate('faker.creature.bird.order_common_map').keys
33
+ sample(orders).to_s
34
+ end
35
+
36
+ ##
37
+ # Produces a random bird anatomy word
38
+ #
39
+ # @return [String]
40
+ #
41
+ # @example
42
+ # Faker::Creature::Bird.anatomy #=> "rump"
43
+ #
44
+ # @faker.version next
45
+ def anatomy
46
+ fetch('creature.bird.anatomy')
47
+ end
48
+
49
+ ##
50
+ # Produces a random, past tensed bird anatomy word
51
+ #
52
+ # @return [String]
53
+ #
54
+ # @example
55
+ # Faker::Creature::Bird.anatomy #=> "breasted"
56
+ #
57
+ # @faker.version next
58
+ def anatomy_past_tense
59
+ fetch('creature.bird.anatomy_past_tense')
60
+ end
61
+
62
+ ##
63
+ # Produces a random geographical word used in describing birds
64
+ #
65
+ # @return [String]
66
+ #
67
+ # @example
68
+ # Faker::Creature::Bird.geo #=> "Eurasian"
69
+ #
70
+ # @faker.version next
71
+ def geo
72
+ fetch('creature.bird.geo')
73
+ end
74
+
75
+ ##
76
+ # Produces a random color word used in describing birds
77
+ #
78
+ # @return [String]
79
+ #
80
+ # @example
81
+ # Faker::Creature::Bird.color #=> "ferruginous"
82
+ #
83
+ # @faker.version next
84
+ def color
85
+ fetch('creature.bird.colors')
86
+ end
87
+
88
+ ##
89
+ # Produces a random adjective used to described birds
90
+ #
91
+ # @return [String]
92
+ #
93
+ # @example
94
+ # Faker::Creature::Bird.adjective #=> 'common'
95
+ #
96
+ # @faker.version next
97
+ def adjective
98
+ fetch('creature.bird.adjectives')
99
+ end
100
+
101
+ ##
102
+ # Produces a random emotional adjective NOT used to described birds
103
+ # ...but could be
104
+ #
105
+ # @return [String]
106
+ #
107
+ # @example
108
+ # Faker::Creature::Bird.emotional_adjective #=> 'cantankerous'
109
+ #
110
+ # @faker.version next
111
+ def emotional_adjective
112
+ fetch('creature.bird.emotional_adjectives')
113
+ end
114
+
115
+ ##
116
+ # Produces a random adjective NOT used to described birds
117
+ # ...but probably shouldn't
118
+ #
119
+ # @return [String]
120
+ #
121
+ # @example
122
+ # Faker::Creature::Bird.silly_adjective #=> 'drunk'
123
+ #
124
+ # @faker.version next
125
+ def silly_adjective
126
+ fetch('creature.bird.silly_adjectives')
127
+ end
128
+
129
+ ##
130
+ # Produces a random common name for a bird
131
+ #
132
+ # @param [String | Symbol | nil] tax_order Tax
133
+ # @return [String]
134
+ # @raises TypeError If `tax_order` cannot be converted into a Symbol
135
+ # @raises ArgumentError If `tax_order` is not a valid taxonomic order
136
+ #
137
+ # @example
138
+ # Faker::Creature::Bird.common_name #=> 'wren'
139
+ #
140
+ # @faker.version next
141
+ def common_name(tax_order = nil)
142
+ map = translate('faker.creature.bird.order_common_map')
143
+ if tax_order.nil?
144
+ sample(map.values.flatten).downcase
145
+ else
146
+ raise TypeError, 'tax_order parameter must be symbolizable' \
147
+ unless tax_order.respond_to?(:to_sym)
148
+ raise ArgumentError, "#{tax_order} is not a valid taxonomic order" \
149
+ unless map.keys.include?(tax_order.to_sym)
150
+
151
+ the_order = translate('faker.creature.bird.order_common_map')[tax_order.to_sym]
152
+ sample(the_order).downcase
153
+ end
154
+ end
155
+
156
+ ##
157
+ # Produces a random and plausible common name for a bird
158
+ #
159
+ # @return [String]
160
+ #
161
+ # @example
162
+ # Faker::Creature::Bird.plausible_common_name #=> 'Hellinger's Wren'
163
+ #
164
+ # @faker.version next
165
+ def plausible_common_name
166
+ parse('creature.bird.plausible_common_names').capitalize
167
+ end
168
+
169
+ ##
170
+ # Produces a random and IMplausible common name for a bird
171
+ #
172
+ # @return [String]
173
+ #
174
+ # @example
175
+ # Faker::Creature::Bird.implausible_common_name #=> 'Hellinger's Cantankerous Chickadee'
176
+ #
177
+ # @faker.version next
178
+ def implausible_common_name
179
+ parse('creature.bird.implausible_common_names').capitalize
180
+ end
181
+
182
+ ##
183
+ # Produces a hash entry with a random order and a random common name
184
+ # that is of that order
185
+ #
186
+ # @return [Hash<order,common_name>]
187
+ #
188
+ # @example
189
+ # Faker::Creature::Bird.order_with_common_name #=> {
190
+ # order: ''Accipitriformes',
191
+ # common_name: 'Osprey'
192
+ # }
193
+ #
194
+ # @faker.version next
195
+ def order_with_common_name(tax_order = nil)
196
+ map = I18n.translate('faker.creature.bird.order_common_map')
197
+ o = tax_order.nil? ? order : tax_order
198
+ { order: o, common_name: sample(map[o.to_sym]) }
199
+ end
200
+ end
201
+ end
202
+ end
203
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Creature
5
+ class Cat < Base
6
+ flexible :cat
7
+
8
+ class << self
9
+ ##
10
+ # Produces a random name for a cat
11
+ #
12
+ # @return [String]
13
+ #
14
+ # @example
15
+ # Faker::Creature::Cat.name #=> "Felix"
16
+ #
17
+ # @faker.version 1.9.2
18
+ def name
19
+ fetch('creature.cat.name')
20
+ end
21
+
22
+ ##
23
+ # Produces a random cat breed
24
+ #
25
+ # @return [String]
26
+ #
27
+ # @example
28
+ # Faker::Creature::Cat.breed #=> "Scottish Fold"
29
+ #
30
+ # @faker.version 1.9.2
31
+ def breed
32
+ fetch('creature.cat.breed')
33
+ end
34
+
35
+ ##
36
+ # Produces a random cat breed registry
37
+ #
38
+ # @return [String]
39
+ #
40
+ # @example
41
+ # Faker::Creature::Cat.registry #=> "Fancy Southern Africa Cat Council"
42
+ #
43
+ # @faker.version 1.9.2
44
+ def registry
45
+ fetch('creature.cat.registry')
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,115 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Creature
5
+ class Dog < Base
6
+ flexible :dog
7
+
8
+ class << self
9
+ ##
10
+ # Produces a random name for a dog
11
+ #
12
+ # @return [String]
13
+ #
14
+ # @example
15
+ # Faker::Creature::Dog.name #=> "Spike"
16
+ #
17
+ # @faker.version 1.9.2
18
+ def name
19
+ fetch('creature.dog.name')
20
+ end
21
+
22
+ ##
23
+ # Produces a random dog breed
24
+ #
25
+ # @return [String]
26
+ #
27
+ # @example
28
+ # Faker::Creature::Dog.breed #=> "Yorkshire Terrier"
29
+ #
30
+ # @faker.version 1.9.2
31
+ def breed
32
+ fetch('creature.dog.breed')
33
+ end
34
+
35
+ ##
36
+ # Produces a random sound made by a dog
37
+ #
38
+ # @return [String]
39
+ #
40
+ # @example
41
+ # Faker::Creature::Dog.sound #=> "woof woof"
42
+ #
43
+ # @faker.version 1.9.2
44
+ def sound
45
+ fetch('creature.dog.sound')
46
+ end
47
+
48
+ ##
49
+ # Produces a random dog meme phrase
50
+ #
51
+ # @return [String]
52
+ #
53
+ # @example
54
+ # Faker::Creature::Dog.meme_phrase #=> "smol pupperino"
55
+ #
56
+ # @faker.version 1.9.2
57
+ def meme_phrase
58
+ fetch('creature.dog.meme_phrase')
59
+ end
60
+
61
+ ##
62
+ # Produces a random dog age
63
+ #
64
+ # @return [String]
65
+ #
66
+ # @example
67
+ # Faker::Creature::Dog.age #=> "puppy"
68
+ #
69
+ # @faker.version 1.9.2
70
+ def age
71
+ fetch('creature.dog.age')
72
+ end
73
+
74
+ ##
75
+ # Produces a random gender
76
+ #
77
+ # @return [String]
78
+ #
79
+ # @example
80
+ # Faker::Creature::Dog.gender #=> "Female"
81
+ #
82
+ # @faker.version 1.9.2
83
+ def gender
84
+ Faker::Gender.binary_type
85
+ end
86
+
87
+ ##
88
+ # Produces a random coat length
89
+ #
90
+ # @return [String]
91
+ #
92
+ # @example
93
+ # Faker::Creature::Dog.coat_length #=> "short"
94
+ #
95
+ # @faker.version 1.9.2
96
+ def coat_length
97
+ fetch('creature.dog.coat_length')
98
+ end
99
+
100
+ ##
101
+ # Produces a random size of a dog
102
+ #
103
+ # @return [String]
104
+ #
105
+ # @example
106
+ # Faker::Creature::Dog.size #=> "small"
107
+ #
108
+ # @faker.version 1.9.2
109
+ def size
110
+ fetch('creature.dog.size')
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end