faker 2.0.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1896 -11
  3. data/README.md +140 -307
  4. data/lib/faker/blockchain/aeternity.rb +70 -0
  5. data/lib/faker/blockchain/bitcoin.rb +27 -2
  6. data/lib/faker/blockchain/ethereum.rb +11 -1
  7. data/lib/faker/blockchain/tezos.rb +92 -9
  8. data/lib/faker/blockchain.rb +9 -0
  9. data/lib/faker/books/culture_series.rb +49 -0
  10. data/lib/faker/books/dune.rb +71 -5
  11. data/lib/faker/books/lovecraft.rb +182 -7
  12. data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
  13. data/lib/faker/books.rb +9 -0
  14. data/lib/faker/creature/animal.rb +9 -0
  15. data/lib/faker/creature/bird.rb +203 -0
  16. data/lib/faker/creature/cat.rb +27 -0
  17. data/lib/faker/creature/dog.rb +72 -0
  18. data/lib/faker/creature/horse.rb +18 -0
  19. data/lib/faker/creature.rb +9 -0
  20. data/lib/faker/default/address.rb +251 -6
  21. data/lib/faker/default/adjective.rb +35 -0
  22. data/lib/faker/default/alphanumeric.rb +49 -6
  23. data/lib/faker/default/ancient.rb +36 -0
  24. data/lib/faker/default/app.rb +45 -0
  25. data/lib/faker/default/appliance.rb +18 -0
  26. data/lib/faker/default/artist.rb +9 -0
  27. data/lib/faker/default/avatar.rb +32 -1
  28. data/lib/faker/default/bank.rb +117 -22
  29. data/lib/faker/default/barcode.rb +165 -0
  30. data/lib/faker/default/beer.rb +75 -3
  31. data/lib/faker/default/blood.rb +48 -0
  32. data/lib/faker/default/book.rb +61 -0
  33. data/lib/faker/default/boolean.rb +14 -1
  34. data/lib/faker/default/business.rb +27 -0
  35. data/lib/faker/default/camera.rb +46 -0
  36. data/lib/faker/default/cannabis.rb +90 -0
  37. data/lib/faker/default/chile_rut.rb +62 -8
  38. data/lib/faker/default/chuck_norris.rb +13 -2
  39. data/lib/faker/default/code.rb +165 -38
  40. data/lib/faker/default/coffee.rb +45 -0
  41. data/lib/faker/default/coin.rb +18 -0
  42. data/lib/faker/default/color.rb +123 -5
  43. data/lib/faker/default/commerce.rb +102 -11
  44. data/lib/faker/default/company.rb +445 -23
  45. data/lib/faker/default/compass.rb +135 -0
  46. data/lib/faker/default/computer.rb +63 -0
  47. data/lib/faker/default/construction.rb +54 -0
  48. data/lib/faker/default/cosmere.rb +90 -0
  49. data/lib/faker/default/crypto.rb +52 -5
  50. data/lib/faker/default/crypto_coin.rb +45 -0
  51. data/lib/faker/default/currency.rb +27 -0
  52. data/lib/faker/default/date.rb +145 -5
  53. data/lib/faker/default/dc_comics.rb +45 -0
  54. data/lib/faker/default/demographic.rb +57 -0
  55. data/lib/faker/default/dessert.rb +27 -0
  56. data/lib/faker/default/device.rb +54 -0
  57. data/lib/faker/default/driving_licence.rb +87 -14
  58. data/lib/faker/default/drone.rb +332 -0
  59. data/lib/faker/default/educator.rb +73 -6
  60. data/lib/faker/default/electrical_components.rb +27 -0
  61. data/lib/faker/default/emotion.rb +33 -0
  62. data/lib/faker/default/esport.rb +45 -0
  63. data/lib/faker/default/file.rb +53 -4
  64. data/lib/faker/default/finance.rb +74 -2
  65. data/lib/faker/default/food.rb +93 -3
  66. data/lib/faker/default/funny_name.rb +45 -0
  67. data/lib/faker/default/game.rb +48 -0
  68. data/lib/faker/default/gender.rb +31 -0
  69. data/lib/faker/default/greek_philosophers.rb +18 -0
  70. data/lib/faker/default/hacker.rb +59 -1
  71. data/lib/faker/default/hipster.rb +103 -7
  72. data/lib/faker/default/hobby.rb +22 -0
  73. data/lib/faker/default/house.rb +18 -0
  74. data/lib/faker/default/html.rb +230 -0
  75. data/lib/faker/default/id_number.rb +313 -8
  76. data/lib/faker/default/industry_segments.rb +36 -0
  77. data/lib/faker/default/invoice.rb +34 -7
  78. data/lib/faker/default/job.rb +36 -0
  79. data/lib/faker/default/json.rb +68 -8
  80. data/lib/faker/default/kpop.rb +54 -0
  81. data/lib/faker/default/lorem.rb +194 -21
  82. data/lib/faker/default/lorem_flickr.rb +67 -2
  83. data/lib/faker/default/markdown.rb +100 -9
  84. data/lib/faker/default/marketing.rb +9 -0
  85. data/lib/faker/default/measurement.rb +93 -2
  86. data/lib/faker/default/military.rb +71 -0
  87. data/lib/faker/default/mountain.rb +33 -0
  88. data/lib/faker/default/movie.rb +33 -0
  89. data/lib/faker/default/name.rb +98 -0
  90. data/lib/faker/default/nation.rb +45 -5
  91. data/lib/faker/default/{nhs.rb → national_health_service.rb} +27 -4
  92. data/lib/faker/default/nato_phonetic_alphabet.rb +9 -0
  93. data/lib/faker/default/number.rb +151 -12
  94. data/lib/faker/default/omniauth.rb +233 -92
  95. data/lib/faker/default/phone_number.rb +113 -11
  96. data/lib/faker/default/placeholdit.rb +24 -3
  97. data/lib/faker/default/programming_language.rb +18 -0
  98. data/lib/faker/default/quote.rb +124 -0
  99. data/lib/faker/default/relationship.rb +46 -1
  100. data/lib/faker/default/restaurant.rb +54 -2
  101. data/lib/faker/default/science.rb +135 -0
  102. data/lib/faker/default/slack_emoji.rb +81 -0
  103. data/lib/faker/default/source.rb +43 -0
  104. data/lib/faker/default/south_africa.rb +93 -3
  105. data/lib/faker/default/space.rb +128 -1
  106. data/lib/faker/default/sport.rb +116 -0
  107. data/lib/faker/default/string.rb +18 -4
  108. data/lib/faker/default/stripe.rb +64 -3
  109. data/lib/faker/default/subscription.rb +45 -0
  110. data/lib/faker/default/superhero.rb +45 -0
  111. data/lib/faker/default/tea.rb +41 -0
  112. data/lib/faker/default/team.rb +45 -0
  113. data/lib/faker/default/theater.rb +49 -0
  114. data/lib/faker/default/time.rb +80 -0
  115. data/lib/faker/default/types.rb +91 -11
  116. data/lib/faker/default/university.rb +45 -0
  117. data/lib/faker/default/vehicle.rb +225 -42
  118. data/lib/faker/default/verb.rb +45 -0
  119. data/lib/faker/default/vulnerability_identifier.rb +23 -0
  120. data/lib/faker/default/world_cup.rb +50 -0
  121. data/lib/faker/default/x.rb +189 -0
  122. data/lib/faker/default.rb +9 -0
  123. data/lib/faker/fantasy/tolkien.rb +67 -0
  124. data/lib/faker/fantasy.rb +9 -0
  125. data/lib/faker/games/clash_of_clans.rb +48 -0
  126. data/lib/faker/games/control.rb +113 -0
  127. data/lib/faker/games/dnd.rb +178 -0
  128. data/lib/faker/games/dota.rb +60 -0
  129. data/lib/faker/games/elder_scrolls.rb +98 -0
  130. data/lib/faker/games/fallout.rb +37 -0
  131. data/lib/faker/games/final_fantasy_xiv.rb +73 -0
  132. data/lib/faker/games/half_life.rb +27 -0
  133. data/lib/faker/games/heroes.rb +40 -0
  134. data/lib/faker/games/heroes_of_the_storm.rb +38 -2
  135. data/lib/faker/games/league_of_legends.rb +54 -0
  136. data/lib/faker/games/minecraft.rb +113 -0
  137. data/lib/faker/games/myst.rb +45 -0
  138. data/lib/faker/games/overwatch.rb +27 -0
  139. data/lib/faker/games/pokemon.rb +27 -0
  140. data/lib/faker/games/sonic_the_hedgehog.rb +27 -0
  141. data/lib/faker/games/street_fighter.rb +61 -0
  142. data/lib/faker/games/super_mario.rb +48 -0
  143. data/lib/faker/games/super_smash_bros.rb +18 -0
  144. data/lib/faker/games/tarkov.rb +205 -0
  145. data/lib/faker/games/touhou.rb +75 -0
  146. data/lib/faker/games/warhammer_fantasy.rb +74 -0
  147. data/lib/faker/games/witcher.rb +93 -0
  148. data/lib/faker/games/world_of_warcraft.rb +44 -1
  149. data/lib/faker/games/zelda.rb +37 -1
  150. data/lib/faker/games.rb +9 -0
  151. data/lib/faker/internet/http.rb +48 -0
  152. data/lib/faker/internet.rb +582 -0
  153. data/lib/faker/japanese_media/conan.rb +48 -0
  154. data/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
  155. data/lib/faker/japanese_media/doraemon.rb +48 -0
  156. data/lib/faker/japanese_media/dragon_ball.rb +35 -0
  157. data/lib/faker/japanese_media/fullmetal_alchemist_brotherhood.rb +48 -0
  158. data/lib/faker/japanese_media/kamen_rider.rb +102 -0
  159. data/lib/faker/japanese_media/naruto.rb +61 -0
  160. data/lib/faker/japanese_media/one_piece.rb +55 -1
  161. data/lib/faker/japanese_media/studio_ghibli.rb +48 -0
  162. data/lib/faker/japanese_media/sword_art_online.rb +36 -0
  163. data/lib/faker/japanese_media.rb +9 -0
  164. data/lib/faker/locations/australia.rb +49 -0
  165. data/lib/faker/locations.rb +9 -0
  166. data/lib/faker/movies/avatar.rb +49 -0
  167. data/lib/faker/movies/back_to_the_future.rb +28 -0
  168. data/lib/faker/movies/departed.rb +49 -0
  169. data/lib/faker/movies/ghostbusters.rb +28 -0
  170. data/lib/faker/movies/hackers.rb +48 -0
  171. data/lib/faker/movies/harry_potter.rb +54 -0
  172. data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +69 -0
  173. data/lib/faker/movies/hobbit.rb +41 -4
  174. data/lib/faker/movies/how_to_train_your_dragon.rb +48 -0
  175. data/lib/faker/movies/lebowski.rb +27 -0
  176. data/lib/faker/movies/lord_of_the_rings.rb +31 -3
  177. data/lib/faker/movies/princess_bride.rb +19 -0
  178. data/lib/faker/movies/star_wars.rb +169 -5
  179. data/lib/faker/movies/the_room.rb +63 -0
  180. data/lib/faker/movies/tron.rb +161 -0
  181. data/lib/faker/movies/v_for_vendetta.rb +29 -0
  182. data/lib/faker/movies.rb +9 -0
  183. data/lib/faker/music/bossa_nova.rb +35 -0
  184. data/lib/faker/music/grateful_dead.rb +18 -2
  185. data/lib/faker/music/hiphop.rb +48 -0
  186. data/lib/faker/music/opera.rb +273 -1
  187. data/lib/faker/music/pearl_jam.rb +48 -0
  188. data/lib/faker/music/phish.rb +36 -1
  189. data/lib/faker/music/prince.rb +64 -0
  190. data/lib/faker/music/rock_band.rb +21 -0
  191. data/lib/faker/music/rush.rb +35 -0
  192. data/lib/faker/music/smashing_pumpkins.rb +62 -0
  193. data/lib/faker/music/umphreys_mcgee.rb +9 -0
  194. data/lib/faker/music.rb +149 -0
  195. data/lib/faker/quotes/chiquito.rb +80 -0
  196. data/lib/faker/quotes/rajnikanth.rb +27 -0
  197. data/lib/faker/quotes/shakespeare.rb +70 -0
  198. data/lib/faker/quotes.rb +9 -0
  199. data/lib/faker/religion/bible.rb +50 -0
  200. data/lib/faker/religion.rb +9 -0
  201. data/lib/faker/sports/basketball.rb +36 -0
  202. data/lib/faker/sports/chess.rb +90 -0
  203. data/lib/faker/sports/football.rb +45 -0
  204. data/lib/faker/sports/mountaineering.rb +22 -0
  205. data/lib/faker/sports/volleyball.rb +74 -0
  206. data/lib/faker/sports.rb +9 -0
  207. data/lib/faker/travel/airport.rb +43 -0
  208. data/lib/faker/travel/train_station.rb +54 -0
  209. data/lib/faker/travel.rb +9 -0
  210. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +22 -0
  211. data/lib/faker/tv_shows/archer.rb +51 -0
  212. data/lib/faker/tv_shows/big_bang_theory.rb +37 -0
  213. data/lib/faker/tv_shows/bojack_horseman.rb +28 -0
  214. data/lib/faker/tv_shows/breaking_bad.rb +18 -0
  215. data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
  216. data/lib/faker/tv_shows/buffy.rb +47 -2
  217. data/lib/faker/tv_shows/community.rb +19 -0
  218. data/lib/faker/tv_shows/dr_who.rb +65 -2
  219. data/lib/faker/tv_shows/dumb_and_dumber.rb +28 -0
  220. data/lib/faker/tv_shows/family_guy.rb +28 -0
  221. data/lib/faker/tv_shows/final_space.rb +51 -0
  222. data/lib/faker/tv_shows/friends.rb +27 -0
  223. data/lib/faker/tv_shows/futurama.rb +65 -0
  224. data/lib/faker/tv_shows/game_of_thrones.rb +46 -0
  225. data/lib/faker/tv_shows/hey_arnold.rb +27 -0
  226. data/lib/faker/tv_shows/how_i_met_your_mother.rb +37 -0
  227. data/lib/faker/tv_shows/michael_scott.rb +10 -0
  228. data/lib/faker/tv_shows/new_girl.rb +19 -0
  229. data/lib/faker/tv_shows/parks_and_rec.rb +18 -0
  230. data/lib/faker/tv_shows/rick_and_morty.rb +28 -0
  231. data/lib/faker/tv_shows/ru_paul.rb +18 -0
  232. data/lib/faker/tv_shows/seinfeld.rb +28 -0
  233. data/lib/faker/tv_shows/silicon_valley.rb +75 -0
  234. data/lib/faker/tv_shows/simpsons.rb +42 -0
  235. data/lib/faker/tv_shows/south_park.rb +34 -0
  236. data/lib/faker/tv_shows/spongebob.rb +50 -0
  237. data/lib/faker/tv_shows/star_trek.rb +36 -0
  238. data/lib/faker/tv_shows/stargate.rb +28 -0
  239. data/lib/faker/tv_shows/stranger_things.rb +19 -0
  240. data/lib/faker/tv_shows/suits.rb +37 -0
  241. data/lib/faker/tv_shows/supernatural.rb +48 -0
  242. data/lib/faker/tv_shows/the_expanse.rb +36 -0
  243. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +30 -2
  244. data/lib/faker/tv_shows/the_it_crowd.rb +37 -0
  245. data/lib/faker/tv_shows/the_office.rb +37 -0
  246. data/lib/faker/tv_shows/the_thick_of_it.rb +28 -0
  247. data/lib/faker/tv_shows/twin_peaks.rb +28 -0
  248. data/lib/faker/tv_shows/venture_bros.rb +38 -0
  249. data/lib/faker/tv_shows.rb +9 -0
  250. data/lib/faker/version.rb +2 -2
  251. data/lib/faker.rb +125 -45
  252. data/lib/helpers/base58.rb +1 -1
  253. data/lib/helpers/char.rb +22 -27
  254. data/lib/helpers/deprecator.rb +118 -0
  255. data/lib/helpers/positional_generator.rb +478 -0
  256. data/lib/helpers/unique_generator.rb +18 -14
  257. data/lib/locales/README.md +18 -2
  258. data/lib/locales/ar.yml +1608 -46
  259. data/lib/locales/bg.yml +937 -21
  260. data/lib/locales/ca-CAT.yml +347 -12
  261. data/lib/locales/ca.yml +580 -15
  262. data/lib/locales/da-DK.yml +530 -36
  263. data/lib/locales/de-AT.yml +3487 -25
  264. data/lib/locales/de-CH.yml +6051 -9
  265. data/lib/locales/de.yml +7185 -97
  266. data/lib/locales/ee.yml +1185 -27
  267. data/lib/locales/en/address.yml +1829 -559
  268. data/lib/locales/en/adjective.yml +179 -0
  269. data/lib/locales/en/airport.yml +381 -0
  270. data/lib/locales/en/ancient.yml +128 -4
  271. data/lib/locales/en/animal.yml +141 -2
  272. data/lib/locales/en/app.yml +89 -2
  273. data/lib/locales/en/appliance.yml +81 -2
  274. data/lib/locales/en/aqua_teen_hunger_force.yml +33 -1
  275. data/lib/locales/en/archer.yml +75 -0
  276. data/lib/locales/en/artist.yml +43 -1
  277. data/lib/locales/en/australia.yml +108 -0
  278. data/lib/locales/en/avatar.yml +57 -0
  279. data/lib/locales/en/back_to_the_future.yml +145 -117
  280. data/lib/locales/en/bank.yml +92 -3
  281. data/lib/locales/en/barcode.yml +24 -0
  282. data/lib/locales/en/beer.yml +232 -6
  283. data/lib/locales/en/bible.yml +87 -0
  284. data/lib/locales/en/big_bang_theory.yml +37 -0
  285. data/lib/locales/en/bird.yml +1280 -0
  286. data/lib/locales/en/blood.yml +13 -0
  287. data/lib/locales/en/bojack_horseman.yml +63 -3
  288. data/lib/locales/en/book.yml +486 -3
  289. data/lib/locales/en/bossa_nova.yml +110 -3
  290. data/lib/locales/en/breaking_bad.yml +110 -25
  291. data/lib/locales/en/brooklyn_nine_nine.yml +34 -0
  292. data/lib/locales/en/buffy.yml +239 -257
  293. data/lib/locales/en/business.yml +18 -2
  294. data/lib/locales/en/camera.yml +611 -0
  295. data/lib/locales/en/cannabis.yml +344 -10
  296. data/lib/locales/en/cat.yml +155 -3
  297. data/lib/locales/en/chess.yml +102 -0
  298. data/lib/locales/en/chiquito.yml +63 -0
  299. data/lib/locales/en/chuck_norris.yml +78 -79
  300. data/lib/locales/en/clash_of_clan.yml +99 -0
  301. data/lib/locales/en/code.yml +501 -1
  302. data/lib/locales/en/coffee.yml +450 -25
  303. data/lib/locales/en/color.yml +73 -1
  304. data/lib/locales/en/commerce.yml +117 -6
  305. data/lib/locales/en/community.yml +55 -30
  306. data/lib/locales/en/company.yml +1756 -13
  307. data/lib/locales/en/compass.yml +108 -12
  308. data/lib/locales/en/computer.yml +55 -0
  309. data/lib/locales/en/conan.yml +169 -0
  310. data/lib/locales/en/construction.yml +416 -422
  311. data/lib/locales/en/control.yml +247 -0
  312. data/lib/locales/en/cosmere.yml +219 -54
  313. data/lib/locales/en/cowboy_bebop.yml +160 -0
  314. data/lib/locales/en/culture_series.yml +298 -298
  315. data/lib/locales/en/currency.yml +358 -3
  316. data/lib/locales/en/dc_comics.yml +178 -49
  317. data/lib/locales/en/demographic.yml +218 -5
  318. data/lib/locales/en/departed.yml +46 -0
  319. data/lib/locales/en/dessert.yml +78 -3
  320. data/lib/locales/en/device.yml +112 -4
  321. data/lib/locales/en/dnd.yml +636 -0
  322. data/lib/locales/en/dog.yml +262 -7
  323. data/lib/locales/en/doraemon.yml +284 -0
  324. data/lib/locales/en/dota.yml +704 -63
  325. data/lib/locales/en/dr_who.yml +468 -93
  326. data/lib/locales/en/dragon_ball.yml +243 -1
  327. data/lib/locales/en/driving_license.yml +181 -0
  328. data/lib/locales/en/drone.yml +95 -0
  329. data/lib/locales/en/dumb_and_dumber.yml +72 -56
  330. data/lib/locales/en/dune.yml +270 -131
  331. data/lib/locales/en/educator.yml +75 -6
  332. data/lib/locales/en/elder_scrolls.yml +582 -9
  333. data/lib/locales/en/electrical_components.yml +49 -3
  334. data/lib/locales/en/emotion.yml +480 -0
  335. data/lib/locales/en/esport.yml +58 -5
  336. data/lib/locales/en/fallout.yml +311 -133
  337. data/lib/locales/en/family_guy.yml +54 -4
  338. data/lib/locales/en/file.yml +109 -2
  339. data/lib/locales/en/final_fantasy_xiv.yml +754 -0
  340. data/lib/locales/en/final_space.yml +35 -0
  341. data/lib/locales/en/finance.yml +80 -4
  342. data/lib/locales/en/food.yml +1067 -10
  343. data/lib/locales/en/football.yml +121 -5
  344. data/lib/locales/en/fresh_prince_of_bel_air.yml +119 -70
  345. data/lib/locales/en/friends.yml +162 -3
  346. data/lib/locales/en/fullmetal_alchemist_brotherhood.yml +78 -0
  347. data/lib/locales/en/funny_name.yml +752 -1
  348. data/lib/locales/en/futurama.yml +336 -0
  349. data/lib/locales/en/game.yml +11 -0
  350. data/lib/locales/en/game_of_thrones.yml +2487 -5
  351. data/lib/locales/en/gender.yml +15 -2
  352. data/lib/locales/en/ghostbusters.yml +101 -88
  353. data/lib/locales/en/grateful_dead.yml +47 -45
  354. data/lib/locales/en/greek_philosophers.yml +44 -23
  355. data/lib/locales/en/hacker.yml +110 -5
  356. data/lib/locales/en/hackers.yml +53 -0
  357. data/lib/locales/en/half_life.yml +84 -3
  358. data/lib/locales/en/harry_potter.yml +323 -6
  359. data/lib/locales/en/heroes.yml +408 -3
  360. data/lib/locales/en/heroes_of_the_storm.yml +131 -4
  361. data/lib/locales/en/hey_arnold.yml +104 -21
  362. data/lib/locales/en/hipster.yml +203 -1
  363. data/lib/locales/en/hitchhikers_guide_to_the_galaxy.yml +243 -42
  364. data/lib/locales/en/hobby.yml +170 -0
  365. data/lib/locales/en/horse.yml +446 -2
  366. data/lib/locales/en/house.yml +34 -2
  367. data/lib/locales/en/how_i_met_your_mother.yml +97 -25
  368. data/lib/locales/en/how_to_train_your_dragon.yml +173 -0
  369. data/lib/locales/en/id_number.yml +7 -2
  370. data/lib/locales/en/industry_segments.yml +188 -4
  371. data/lib/locales/en/internet.yml +136 -3
  372. data/lib/locales/en/jack_handey.yml +54 -0
  373. data/lib/locales/en/job.yml +98 -7
  374. data/lib/locales/en/kamen_rider.yml +718 -0
  375. data/lib/locales/en/kpop.yml +954 -80
  376. data/lib/locales/en/league_of_legends.yml +285 -6
  377. data/lib/locales/en/lebowski.yml +58 -40
  378. data/lib/locales/en/lorem.yml +1095 -6
  379. data/lib/locales/en/lovecraft.yml +76 -6
  380. data/lib/locales/en/markdown.yml +12 -2
  381. data/lib/locales/en/marketing.yml +54 -1
  382. data/lib/locales/en/measurement.yml +42 -8
  383. data/lib/locales/en/michael_scott.yml +41 -42
  384. data/lib/locales/en/military.yml +179 -5
  385. data/lib/locales/en/minecraft.yml +663 -0
  386. data/lib/locales/en/mitch_hedberg.yml +46 -0
  387. data/lib/locales/en/mountain.yml +171 -0
  388. data/lib/locales/en/mountaineering.yml +14 -0
  389. data/lib/locales/en/movie.yml +206 -2
  390. data/lib/locales/en/music.yml +461 -29
  391. data/lib/locales/en/myst.yml +87 -31
  392. data/lib/locales/en/name.yml +6068 -5
  393. data/lib/locales/en/naruto.yml +230 -0
  394. data/lib/locales/en/nato_phonetic_alphabet.yml +27 -1
  395. data/lib/locales/en/new_girl.yml +35 -37
  396. data/lib/locales/en/one_piece.yml +359 -6
  397. data/lib/locales/en/opera.yml +169 -1
  398. data/lib/locales/en/overwatch.yml +2648 -37
  399. data/lib/locales/en/parks_and_rec.yml +33 -4
  400. data/lib/locales/en/pearl_jam.yml +213 -0
  401. data/lib/locales/en/phish.yml +391 -1
  402. data/lib/locales/en/phone_number.yml +78 -3
  403. data/lib/locales/en/pokemon.yml +417 -4
  404. data/lib/locales/en/prince.yml +227 -0
  405. data/lib/locales/en/princess_bride.yml +48 -2
  406. data/lib/locales/en/programming_language.yml +753 -3
  407. data/lib/locales/en/quote.yml +606 -163
  408. data/lib/locales/en/rajnikanth.yml +77 -0
  409. data/lib/locales/en/relationship.yml +29 -6
  410. data/lib/locales/en/restaurant.yml +31 -31
  411. data/lib/locales/en/rick_and_morty.yml +116 -3
  412. data/lib/locales/en/rock_band.yml +228 -1
  413. data/lib/locales/en/rupaul.yml +120 -122
  414. data/lib/locales/en/rush.yml +32 -0
  415. data/lib/locales/en/science.yml +481 -3
  416. data/lib/locales/en/seinfeld.yml +110 -3
  417. data/lib/locales/en/shakespeare.yml +46 -53
  418. data/lib/locales/en/silicon_valley.yml +122 -50
  419. data/lib/locales/en/simpsons.yml +897 -23
  420. data/lib/locales/en/slack_emoji.yml +874 -8
  421. data/lib/locales/en/smashing_pumpkins.yml +382 -0
  422. data/lib/locales/en/source.yml +35 -0
  423. data/lib/locales/en/south_park.yml +360 -2
  424. data/lib/locales/en/space.yml +373 -14
  425. data/lib/locales/en/spongebob.yml +489 -0
  426. data/lib/locales/en/sport.yml +130 -0
  427. data/lib/locales/en/star_trek.yml +105 -4
  428. data/lib/locales/en/star_wars.yml +564 -219
  429. data/lib/locales/en/stargate.yml +65 -18
  430. data/lib/locales/en/stranger_thing.yml +31 -33
  431. data/lib/locales/en/street_fighter.yml +1524 -0
  432. data/lib/locales/en/stripe.yml +3 -3
  433. data/lib/locales/en/studio_ghibli.yml +107 -0
  434. data/lib/locales/en/subscription.yml +47 -5
  435. data/lib/locales/en/suits.yml +45 -0
  436. data/lib/locales/en/super_mario.yml +58 -0
  437. data/lib/locales/en/super_smash_bros.yml +23 -5
  438. data/lib/locales/en/superhero.yml +574 -4
  439. data/lib/locales/en/supernatural.yml +141 -0
  440. data/lib/locales/en/sword_art_online.yml +327 -331
  441. data/lib/locales/en/tarkov.yml +593 -0
  442. data/lib/locales/en/tea.yml +172 -0
  443. data/lib/locales/en/team.yml +125 -3
  444. data/lib/locales/en/the_expanse.yml +92 -4
  445. data/lib/locales/en/the_it_crowd.yml +148 -152
  446. data/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
  447. data/lib/locales/en/the_office.yml +82 -0
  448. data/lib/locales/en/the_room.yml +68 -0
  449. data/lib/locales/en/the_thick_of_it.yml +83 -3
  450. data/lib/locales/en/theater.yml +597 -0
  451. data/lib/locales/en/tolkien.yml +2453 -0
  452. data/lib/locales/en/touhou.yml +839 -0
  453. data/lib/locales/en/train_station.yml +280 -0
  454. data/lib/locales/en/tron.yml +227 -0
  455. data/lib/locales/en/twin_peaks.yml +130 -3
  456. data/lib/locales/en/umphreys_mcgee.yml +266 -1
  457. data/lib/locales/en/university.yml +15 -2
  458. data/lib/locales/en/v_for_vendetta.yml +157 -160
  459. data/lib/locales/en/vehicle.yml +2809 -75
  460. data/lib/locales/en/venture_bros.yml +225 -4
  461. data/lib/locales/en/verbs.yml +3785 -5
  462. data/lib/locales/en/volleyball.yml +501 -0
  463. data/lib/locales/en/warhammer_fantasy.yml +549 -0
  464. data/lib/locales/en/witcher.yml +426 -7
  465. data/lib/locales/en/world_cup.yml +1132 -235
  466. data/lib/locales/en/world_of_warcraft.yml +122 -4
  467. data/lib/locales/en/yoda.yml +38 -1
  468. data/lib/locales/en/zelda.yml +962 -4
  469. data/lib/locales/en-AU.yml +728 -17
  470. data/lib/locales/en-BORK.yml +104 -1
  471. data/lib/locales/en-CA.yml +373 -15
  472. data/lib/locales/en-GB.yml +118 -8
  473. data/lib/locales/en-IND.yml +1259 -16
  474. data/lib/locales/en-KE.yml +212 -0
  475. data/lib/locales/en-MS.yml +364 -16
  476. data/lib/locales/en-NEP.yml +213 -36
  477. data/lib/locales/en-NG.yml +737 -65
  478. data/lib/locales/en-NZ.yml +1183 -27
  479. data/lib/locales/en-PAK.yml +392 -9
  480. data/lib/locales/en-SG.yml +581 -15
  481. data/lib/locales/en-TH.yml +360 -0
  482. data/lib/locales/en-UG.yml +374 -75
  483. data/lib/locales/en-US.yml +6937 -71
  484. data/lib/locales/en-ZA.yml +1394 -13
  485. data/lib/locales/en-au-ocker.yml +266 -21
  486. data/lib/locales/en.yml +0 -50
  487. data/lib/locales/es-AR.yml +4570 -0
  488. data/lib/locales/es-MX.yml +1910 -41
  489. data/lib/locales/es.yml +2172 -52
  490. data/lib/locales/fa.yml +1624 -3
  491. data/lib/locales/fi-FI.yml +316 -16
  492. data/lib/locales/fr/address.yml +773 -0
  493. data/lib/locales/fr/adjective.yml +266 -0
  494. data/lib/locales/fr/ancient.yml +141 -0
  495. data/lib/locales/fr/animal.yml +122 -0
  496. data/lib/locales/fr/appliance.yml +69 -0
  497. data/lib/locales/fr/book.yml +31 -0
  498. data/lib/locales/fr/color.yml +34 -0
  499. data/lib/locales/fr/company.yml +497 -0
  500. data/lib/locales/fr/compass.yml +71 -0
  501. data/lib/locales/fr/demographic.yml +6 -0
  502. data/lib/locales/fr/gender.yml +21 -0
  503. data/lib/locales/fr/internet.yml +15 -0
  504. data/lib/locales/fr/lorem.yml +1094 -0
  505. data/lib/locales/fr/measurement.yml +34 -0
  506. data/lib/locales/fr/name.yml +1193 -0
  507. data/lib/locales/fr/phone_number.yml +38 -0
  508. data/lib/locales/fr/pokemon.yml +421 -0
  509. data/lib/locales/fr-CA.yml +2756 -44
  510. data/lib/locales/fr-CH.yml +2455 -42
  511. data/lib/locales/fr.yml +2 -111
  512. data/lib/locales/he.yml +255 -9
  513. data/lib/locales/hy.yml +3630 -124
  514. data/lib/locales/id.yml +840 -10
  515. data/lib/locales/it.yml +1310 -31
  516. data/lib/locales/ja/README.md +13 -0
  517. data/lib/locales/ja/address.yml +363 -0
  518. data/lib/locales/ja/adjective.yml +148 -0
  519. data/lib/locales/ja/ancient.yml +18 -0
  520. data/lib/locales/ja/animal.yml +87 -0
  521. data/lib/locales/ja/artist.yml +46 -0
  522. data/lib/locales/ja/bank.yml +139 -0
  523. data/lib/locales/ja/book.yml +496 -0
  524. data/lib/locales/ja/cat.yml +79 -0
  525. data/lib/locales/ja/coffee.yml +22 -0
  526. data/lib/locales/ja/color.yml +35 -0
  527. data/lib/locales/ja/commerce.yml +103 -0
  528. data/lib/locales/ja/company.yml +26 -0
  529. data/lib/locales/ja/dog.yml +339 -0
  530. data/lib/locales/ja/emotion.yml +49 -0
  531. data/lib/locales/ja/food.yml +41 -0
  532. data/lib/locales/ja/football.yml +115 -0
  533. data/lib/locales/ja/gender.yml +6 -0
  534. data/lib/locales/ja/lorem.yml +1020 -0
  535. data/lib/locales/ja/name.yml +213 -0
  536. data/lib/locales/ja/naruto.yml +230 -0
  537. data/lib/locales/ja/overwatch.yml +37 -0
  538. data/lib/locales/ja/phone_number.yml +13 -0
  539. data/lib/locales/ja/pokemon.yml +441 -0
  540. data/lib/locales/ja/relationship.yml +33 -0
  541. data/lib/locales/ja/restaurant.yml +82 -0
  542. data/lib/locales/ja/space.yml +23 -0
  543. data/lib/locales/ja/sport.yml +130 -0
  544. data/lib/locales/ja/studio_ghibli.yml +112 -0
  545. data/lib/locales/ja/subscription.yml +50 -0
  546. data/lib/locales/ja/super_mario.yml +73 -0
  547. data/lib/locales/ja/super_smash_bros.yml +8 -0
  548. data/lib/locales/ja/touhou.yml +466 -0
  549. data/lib/locales/ja/university.yml +22 -0
  550. data/lib/locales/ja/zelda.yml +19 -0
  551. data/lib/locales/ko.yml +1450 -17
  552. data/lib/locales/lt.yml +315 -0
  553. data/lib/locales/lv.yml +1221 -27
  554. data/lib/locales/mi-NZ.yml +283 -0
  555. data/lib/locales/nb-NO.yml +518 -27
  556. data/lib/locales/nl.yml +33514 -55
  557. data/lib/locales/pl.yml +4008 -38
  558. data/lib/locales/pt-BR.yml +8210 -641
  559. data/lib/locales/pt.yml +846 -45
  560. data/lib/locales/ru.yml +1355 -30
  561. data/lib/locales/sk.yml +4416 -41
  562. data/lib/locales/sv.yml +731 -41
  563. data/lib/locales/th.yml +380 -0
  564. data/lib/locales/tr.yml +77 -19
  565. data/lib/locales/uk.yml +1814 -48
  566. data/lib/locales/vi.yml +392 -48
  567. data/lib/locales/zh-CN/bank.yml +17 -0
  568. data/lib/locales/zh-CN.yml +541 -19
  569. data/lib/locales/zh-TW.yml +1031 -15
  570. metadata +230 -125
  571. data/History.md +0 -176
  572. data/lib/faker/books/book.rb +0 -25
  573. data/lib/faker/default/bossa_nova.rb +0 -15
  574. data/lib/faker/default/fillmurray.rb +0 -15
  575. data/lib/faker/default/internet.rb +0 -207
  576. data/lib/faker/default/lorem_pixel.rb +0 -38
  577. data/lib/faker/default/twitter.rb +0 -174
  578. data/lib/faker/games/game.rb +0 -21
  579. data/lib/faker/movies/movie.rb +0 -11
  580. data/lib/faker/music/music.rb +0 -47
  581. data/lib/faker/quotes/quote.rb +0 -32
  582. data/lib/locales/en/hobbit.yml +0 -19
  583. data/lib/locales/en/lord_of_the_rings.yml +0 -6
  584. data/lib/locales/ja.yml +0 -98
@@ -3,46 +3,136 @@
3
3
  module Faker
4
4
  class SouthAfrica < Base
5
5
  class << self
6
+ ##
7
+ # Produces a South African ID number.
8
+ #
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # Faker::SouthAfrica.id_number #=> "6110311856083"
13
+ #
14
+ # @faker.version 1.9.2
6
15
  def id_number
7
- Faker::IDNumber.south_african_id_number
16
+ Faker::IdNumber.south_african_id_number
8
17
  end
9
18
 
19
+ ##
20
+ # Produces a valid South African ID number
21
+ #
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::SouthAfrica.valid_id_number #=> "6110311856083"
26
+ #
27
+ # @faker.version 1.9.2
10
28
  def valid_id_number
11
- Faker::IDNumber.valid_south_african_id_number
29
+ Faker::IdNumber.valid_south_african_id_number
12
30
  end
13
31
 
32
+ ##
33
+ # Produces an invalid South African ID number
34
+ #
35
+ # @return [String]
36
+ #
37
+ # @example
38
+ # Faker::SouthAfrica.invalid_id_number #=> "7018356904081"
39
+ #
40
+ # @faker.version 1.9.2
14
41
  def invalid_id_number
15
- Faker::IDNumber.invalid_south_african_id_number
42
+ Faker::IdNumber.invalid_south_african_id_number
16
43
  end
17
44
 
45
+ ##
46
+ # Produces a South African phone number.
47
+ #
48
+ # @return [String]
49
+ #
50
+ # @example
51
+ # Faker::SouthAfrica.phone_number #=> "010 788 5009"
52
+ #
53
+ # @faker.version 1.9.2
18
54
  def phone_number
19
55
  with_locale 'en-ZA' do
20
56
  Faker::PhoneNumber.phone_number
21
57
  end
22
58
  end
23
59
 
60
+ ##
61
+ # Produces a South African cell phone number.
62
+ #
63
+ # @return [String]
64
+ #
65
+ # @example
66
+ # Faker::SouthAfrica.cell_phone #=> "082 946 7470"
67
+ #
68
+ # @faker.version 1.9.2
24
69
  def cell_phone
25
70
  with_locale 'en-ZA' do
26
71
  Faker::PhoneNumber.cell_phone
27
72
  end
28
73
  end
29
74
 
75
+ ##
76
+ # Produces a South African private company registration number.
77
+ #
78
+ # @return [String]
79
+ #
80
+ # @example
81
+ # Faker::SouthAfrica.pty_ltd_registration_number #=> "5301/714689/07"
82
+ #
83
+ # @faker.version 1.9.2
30
84
  def pty_ltd_registration_number
31
85
  Faker::Company.south_african_pty_ltd_registration_number
32
86
  end
33
87
 
88
+ ##
89
+ # Produces a South African close corporation registration number.
90
+ #
91
+ # @return [String]
92
+ #
93
+ # @example
94
+ # Faker::SouthAfrica.close_corporation_registration_number #=> "CK74/7585/23"
95
+ #
96
+ # @faker.version 1.9.2
34
97
  def close_corporation_registration_number
35
98
  Faker::Company.south_african_close_corporation_registration_number
36
99
  end
37
100
 
101
+ ##
102
+ # Produces a South African listed company registration number.
103
+ #
104
+ # @return [String]
105
+ #
106
+ # @example
107
+ # Faker::SouthAfrica.listed_company_registration_number #=> "7039/3135/06"
108
+ #
109
+ # @faker.version 1.9.2
38
110
  def listed_company_registration_number
39
111
  Faker::Company.south_african_listed_company_registration_number
40
112
  end
41
113
 
114
+ ##
115
+ # Produces a South African trust registration number.
116
+ #
117
+ # @return [String]
118
+ #
119
+ # @example
120
+ # Faker::SouthAfrica.trust_registration_number #=> "IT38/6489900"
121
+ #
122
+ # @faker.version 1.9.2
42
123
  def trust_registration_number
43
124
  Faker::Company.south_african_trust_registration_number
44
125
  end
45
126
 
127
+ ##
128
+ # Produces a South African VAT number.
129
+ #
130
+ # @return [String]
131
+ #
132
+ # @example
133
+ # Faker::SouthAfrica.vat_number #=> "ZA79494416181"
134
+ #
135
+ # @faker.version 1.9.2
46
136
  def vat_number
47
137
  Faker::Finance.vat_number(country: 'ZA')
48
138
  end
@@ -3,59 +3,186 @@
3
3
  module Faker
4
4
  class Space < Base
5
5
  flexible :space
6
+
6
7
  class << self
8
+ ##
9
+ # Produces the name of a planet.
10
+ #
11
+ # @return [String]
12
+ #
13
+ # @example
14
+ # Faker::Space.planet #=> "Venus"
15
+ #
16
+ # @faker.version 1.6.4
7
17
  def planet
8
18
  fetch('space.planet')
9
19
  end
10
20
 
21
+ ##
22
+ # Produces the name of a moon.
23
+ #
24
+ # @return [String]
25
+ #
26
+ # @example
27
+ # Faker::Space.moon #=> "Europa"
28
+ #
29
+ # @faker.version 1.6.4
11
30
  def moon
12
31
  fetch('space.moon')
13
32
  end
14
33
 
34
+ ##
35
+ # Produces the name of a galaxy.
36
+ #
37
+ # @return [String]
38
+ #
39
+ # @example
40
+ # Faker::Space.galaxy #=> "Andromeda"
41
+ #
42
+ # @faker.version 1.6.4
15
43
  def galaxy
16
44
  fetch('space.galaxy')
17
45
  end
18
46
 
47
+ ##
48
+ # Produces the name of a nebula.
49
+ #
50
+ # @return [String]
51
+ #
52
+ # @example
53
+ # Faker::Space.nebula #=> "Triffid Nebula"
54
+ #
55
+ # @faker.version 1.6.4
19
56
  def nebula
20
57
  fetch('space.nebula')
21
58
  end
22
59
 
60
+ ##
61
+ # Produces the name of a star cluster.
62
+ #
63
+ # @return [String]
64
+ #
65
+ # @example
66
+ # Faker::Space.star_cluster #=> "Messier 70"
67
+ #
68
+ # @faker.version 1.6.4
23
69
  def star_cluster
24
70
  fetch('space.star_cluster')
25
71
  end
26
72
 
73
+ ##
74
+ # Produces the name of a constellation.
75
+ #
76
+ # @return [String]
77
+ #
78
+ # @example
79
+ # Faker::Space.constellation #=> "Orion"
80
+ #
81
+ # @faker.version 1.6.4
27
82
  def constellation
28
83
  fetch('space.constellation')
29
84
  end
30
85
 
86
+ ##
87
+ # Produces the name of a star.
88
+ #
89
+ # @return [String]
90
+ #
91
+ # @example
92
+ # Faker::Space.star #=> "Proxima Centauri"
93
+ #
94
+ # @faker.version 1.6.4
31
95
  def star
32
96
  fetch('space.star')
33
97
  end
34
98
 
99
+ ##
100
+ # Produces the name of a space agency.
101
+ #
102
+ # @return [String]
103
+ #
104
+ # @example
105
+ # Faker::Space.agency #=> "Japan Aerospace Exploration Agency"
106
+ #
107
+ # @faker.version 1.6.4
35
108
  def agency
36
109
  fetch('space.agency')
37
110
  end
38
111
 
112
+ ##
113
+ # Produces a space agency abbreviation.
114
+ #
115
+ # @return [String]
116
+ #
117
+ # @example
118
+ # Faker::Space.agency_abv #=> "NASA"
119
+ #
120
+ # @faker.version 1.6.4
39
121
  def agency_abv
40
122
  fetch('space.agency_abv')
41
123
  end
42
124
 
125
+ ##
126
+ # Produces the name of a NASA spacecraft.
127
+ #
128
+ # @return [String]
129
+ #
130
+ # @example
131
+ # Faker::Space.nasa_space_craft #=> "Endeavour"
132
+ #
133
+ # @faker.version 1.6.4
43
134
  def nasa_space_craft
44
135
  fetch('space.nasa_space_craft')
45
136
  end
46
137
 
138
+ ##
139
+ # Produces the name of a space company.
140
+ #
141
+ # @return [String]
142
+ #
143
+ # @example
144
+ # Faker::Space.company #=> "SpaceX"
145
+ #
146
+ # @faker.version 1.6.4
47
147
  def company
48
148
  fetch('space.company')
49
149
  end
50
150
 
151
+ ##
152
+ # Produces a distance measurement.
153
+ #
154
+ # @return [String]
155
+ #
156
+ # @example
157
+ # Faker::Space.distance_measurement #=> "15 parsecs"
158
+ #
159
+ # @faker.version 1.6.4
51
160
  def distance_measurement
52
- rand(10..100).to_s + ' ' + fetch('space.distance_measurement')
161
+ "#{rand(10..100)} #{fetch('space.distance_measurement')}"
53
162
  end
54
163
 
164
+ ##
165
+ # Produces the name of a meteorite.
166
+ #
167
+ # @return [String]
168
+ #
169
+ # @example
170
+ # Faker::Space.meteorite #=> "Ensisheim"
171
+ #
172
+ # @faker.version 1.7.0
55
173
  def meteorite
56
174
  fetch('space.meteorite')
57
175
  end
58
176
 
177
+ ##
178
+ # Produces the name of a launch vehicle.
179
+ #
180
+ # @return [String]
181
+ #
182
+ # @example
183
+ # Faker::Space.launch_vehicle #=> "Saturn IV"
184
+ #
185
+ # @faker.version 1.9.0
59
186
  def launch_vehicle
60
187
  fetch('space.launch_vehicle')
61
188
  end
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Sport < Base
5
+ class << self
6
+ ##
7
+ # Produces a sport from the modern olympics or paralympics, summer or winter.
8
+ #
9
+ # @param include_ancient [Boolean] If true, may produce a sport from the ancient olympics
10
+ # @param include_unusual [Boolean] If true, may produce an unusual (definitely not olympic) sport
11
+ #
12
+ # @return [String]
13
+ #
14
+ # @example
15
+ # Faker::Sport.sport #=> "Football"
16
+ # @example
17
+ # Faker::Sport.sport(include_ancient: true) #=> "Chariot racing"
18
+ # @example
19
+ # Faker::Sport.sport(include_unsual: true) #=> "Flugtag/Birdman"
20
+ # @example
21
+ # Faker::Sport.sport(include_ancient:true, include_unusual: true) #=> "Water polo"
22
+ #
23
+ # @faker.version next
24
+ def sport(include_ancient: false, include_unusual: false)
25
+ sports = []
26
+ sports.concat(
27
+ fetch_all('sport.summer_olympics'),
28
+ fetch_all('sport.summer_paralympics'),
29
+ fetch_all('sport.winter_olympics'),
30
+ fetch_all('sport.winter_paralympics')
31
+ )
32
+ sports.concat(fetch_all('sport.ancient_olympics')) if include_ancient
33
+ sports.concat(fetch_all('sport.unusual')) if include_unusual
34
+ sample(sports)
35
+ end
36
+
37
+ ##
38
+ # Produces a sport from the summer olympics.
39
+ #
40
+ # @return [String]
41
+ #
42
+ # @example
43
+ # Faker::Sport.summer_olympics_sport #=> "Archery"
44
+ #
45
+ # @faker.version next
46
+ def summer_olympics_sport
47
+ fetch('sport.summer_olympics')
48
+ end
49
+
50
+ ##
51
+ # Produces a sport from the winter olympics.
52
+ #
53
+ # @return [String]
54
+ #
55
+ # @example
56
+ # Faker::Sport.winter_olympics_sport #=> "Bobsleigh"
57
+ #
58
+ # @faker.version next
59
+ def winter_olympics_sport
60
+ fetch('sport.winter_olympics')
61
+ end
62
+
63
+ ##
64
+ # Produces a sport from the summer paralympics.
65
+ #
66
+ # @return [String]
67
+ #
68
+ # @example
69
+ # Faker::Sport.summer_paralympics_sport #=> "Wheelchair Basketball"
70
+ #
71
+ # @faker.version next
72
+ def summer_paralympics_sport
73
+ fetch('sport.summer_paralympics')
74
+ end
75
+
76
+ ##
77
+ # Produces a sport from the winter paralympics.
78
+ #
79
+ # @return [String]
80
+ #
81
+ # @example
82
+ # Faker::Sport.winter_paralympics_sport #=> "Para Ice Hockey"
83
+ #
84
+ # @faker.version next
85
+ def winter_paralympics_sport
86
+ fetch('sport.winter_paralympics')
87
+ end
88
+
89
+ ##
90
+ # Produces an unusual sport.
91
+ #
92
+ # @return [String]
93
+ #
94
+ # @example
95
+ # Faker::Sport.unusual_sport #=> "Camel Jumping"
96
+ #
97
+ # @faker.version next
98
+ def unusual_sport
99
+ fetch('sport.unusual')
100
+ end
101
+
102
+ ##
103
+ # Produces a sport from the ancient olympics.
104
+ #
105
+ # @return [String]
106
+ #
107
+ # @example
108
+ # Faker::Sport.ancient_olympics_sport #=> "Pankration"
109
+ #
110
+ # @faker.version next
111
+ def ancient_olympics_sport
112
+ fetch('sport.ancient_olympics')
113
+ end
114
+ end
115
+ end
116
+ end
@@ -3,6 +3,20 @@
3
3
  module Faker
4
4
  class String < Base
5
5
  class << self
6
+ ##
7
+ # Produces a random UTF-8 string with optional nested length selectors.
8
+ #
9
+ # @param length [Integer, Range, Array<Integer, Range, nil>] The length of produced string and/or specific UTF-8 characters to use.
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::String.random #=> "3 뇦\u0017&y\u{3A109}$8^4* 녹豿4좘툢ꔾ쉙6ɉ\uA6 8TN畀챵|\"3쇤Ŵ"
14
+ # Faker::String.random(length: 4) #=> "⼨%0*"
15
+ # Faker::String.random(length: 3..12) #=> "\u{69FDC};秨툫"
16
+ # Faker::String.random(length: [0, 6]) #=> "I轤𣴒P溟L"
17
+ # Faker::String.random(length: [1, (2..5), [3, 6], nil]) #=> "葓L#ћ"
18
+ #
19
+ # @faker.version 1.9.0
6
20
  def random(length: 32)
7
21
  utf8string select_a length
8
22
  end
@@ -10,7 +24,7 @@ module Faker
10
24
  private
11
25
 
12
26
  def select_a(length)
13
- if length.class.included_modules.include? Enumerable
27
+ if length.class.include?(Enumerable)
14
28
  select_a sample(length.to_enum.to_a)
15
29
  else
16
30
  length # recursive base case
@@ -34,9 +48,9 @@ module Faker
34
48
 
35
49
  def utf8character
36
50
  sample([
37
- rand(32..90), # latin alphabet
38
- rand(128), # 7-bit ASCII
39
- rand(0xd800), # utf-8 codepoints below utf-16 surrogate halves
51
+ rand(32..90), # latin alphabet
52
+ rand(128), # 7-bit ASCII
53
+ rand(0xd800), # utf-8 codepoints below utf-16 surrogate halves
40
54
  rand(57_344..1_114_111) # utf-8 codepoints above utf-16 surrogate halves
41
55
  ]).chr(Encoding::UTF_8)
42
56
  end
@@ -3,6 +3,17 @@
3
3
  module Faker
4
4
  class Stripe < Base
5
5
  class << self
6
+ ##
7
+ # Produces a random valid card number.
8
+ #
9
+ # @param card_type [String] Specific valid card type.
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Stripe.valid_card #=> "4242424242424242"
14
+ # Faker::Stripe.valid_card(card_type: "visa_debit") #=> "4000056655665556"
15
+ #
16
+ # @faker.version 1.9.0
6
17
  def valid_card(card_type: nil)
7
18
  valid_cards = translate('faker.stripe.valid_cards').keys
8
19
 
@@ -15,9 +26,20 @@ module Faker
15
26
  end
16
27
  end
17
28
 
18
- fetch('stripe.valid_cards.' + card_type)
29
+ fetch("stripe.valid_cards.#{card_type}")
19
30
  end
20
31
 
32
+ ##
33
+ # Produces a random valid Stripe token.
34
+ #
35
+ # @param card_type [String] Specific valid card type.
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Stripe.valid_token #=> "tok_visa"
40
+ # Faker::Stripe.valid_token(card_type: "mc_debit") #=> "tok_mastercard_debit"
41
+ #
42
+ # @faker.version 1.9.0
21
43
  def valid_token(card_type: nil)
22
44
  valid_tokens = translate('faker.stripe.valid_tokens').keys
23
45
 
@@ -30,9 +52,19 @@ module Faker
30
52
  end
31
53
  end
32
54
 
33
- fetch('stripe.valid_tokens.' + card_type)
55
+ fetch("stripe.valid_tokens.#{card_type}")
34
56
  end
35
57
 
58
+ ##
59
+ # Produces a random invalid card number.
60
+ #
61
+ # @return [String]
62
+ #
63
+ # @example
64
+ # Faker::Stripe.invalid_card #=> "4000000000000002"
65
+ # Faker::Stripe.invalid_card(card_error: "addressZipFail") #=> "4000000000000010"
66
+ #
67
+ # @faker.version 1.9.0
36
68
  def invalid_card(card_error: nil)
37
69
  invalid_cards = translate('faker.stripe.invalid_cards').keys
38
70
 
@@ -45,18 +77,47 @@ module Faker
45
77
  end
46
78
  end
47
79
 
48
- fetch('stripe.invalid_cards.' + card_error)
80
+ fetch("stripe.invalid_cards.#{card_error}")
49
81
  end
50
82
 
83
+ ##
84
+ # Produces a random month in two digits format.
85
+ #
86
+ # @return [String]
87
+ #
88
+ # @example
89
+ # Faker::Stripe.month #=> "10"
90
+ #
91
+ # @faker.version 1.9.0
51
92
  def month
52
93
  format('%02d', rand_in_range(1, 12))
53
94
  end
54
95
 
96
+ ##
97
+ # Produces a random year that is always in the future.
98
+ #
99
+ # @return [String]
100
+ #
101
+ # @example
102
+ # Faker::Stripe.year #=> "2018" # This will always be a year in the future
103
+ #
104
+ # @faker.version 1.9.0
55
105
  def year
56
106
  start_year = ::Time.new.year + 1
57
107
  rand_in_range(start_year, start_year + 5).to_s
58
108
  end
59
109
 
110
+ ##
111
+ # Produces a random ccv number.
112
+ #
113
+ # @param card_type [String] Specific valid card type.
114
+ # @return [String]
115
+ #
116
+ # @example
117
+ # Faker::Stripe.ccv #=> "123"
118
+ # Faker::Stripe.ccv(card_type: "amex") #=> "1234"
119
+ #
120
+ # @faker.version 1.9.0
60
121
  def ccv(card_type: nil)
61
122
  (card_type.to_s == 'amex' ? rand_in_range(1000, 9999) : rand_in_range(100, 999)).to_s
62
123
  end
@@ -2,22 +2,67 @@
2
2
 
3
3
  module Faker
4
4
  class Subscription < Base
5
+ ##
6
+ # Produces the name of a subscription plan.
7
+ #
8
+ # @return [String]
9
+ #
10
+ # @example
11
+ # Faker::Subscription.plan #=> "Platinum"
12
+ #
13
+ # @faker.version 1.9.2
5
14
  def self.plan
6
15
  fetch('subscription.plans')
7
16
  end
8
17
 
18
+ ##
19
+ # Produces a subscription status.
20
+ #
21
+ # @return [String]
22
+ #
23
+ # @example
24
+ # Faker::Subscription.status #=> "Active"
25
+ #
26
+ # @faker.version 1.9.2
9
27
  def self.status
10
28
  fetch('subscription.statuses')
11
29
  end
12
30
 
31
+ ##
32
+ # Produces the name of a payment method.
33
+ #
34
+ # @return [String]
35
+ #
36
+ # @example
37
+ # Faker::Subscription.payment_method #=> "PayPal"
38
+ #
39
+ # @faker.version 1.9.2
13
40
  def self.payment_method
14
41
  fetch('subscription.payment_methods')
15
42
  end
16
43
 
44
+ ##
45
+ # Produces the name of a subscription term.
46
+ #
47
+ # @return [String]
48
+ #
49
+ # @example
50
+ # Faker::Subscription.subscription_term #=> "Annual"
51
+ #
52
+ # @faker.version 1.9.2
17
53
  def self.subscription_term
18
54
  fetch('subscription.subscription_terms')
19
55
  end
20
56
 
57
+ ##
58
+ # Produces the name of a payment term.
59
+ #
60
+ # @return [String]
61
+ #
62
+ # @example
63
+ # Faker::Subscription.payment_term #=> "Monthly"
64
+ #
65
+ # @faker.version 1.9.2
21
66
  def self.payment_term
22
67
  fetch('subscription.payment_terms')
23
68
  end