faker 2.13.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 (485) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1277 -24
  3. data/README.md +138 -320
  4. data/lib/faker/blockchain/aeternity.rb +5 -5
  5. data/lib/faker/blockchain/bitcoin.rb +1 -2
  6. data/lib/faker/blockchain/ethereum.rb +1 -1
  7. data/lib/faker/blockchain/tezos.rb +30 -3
  8. data/lib/faker/blockchain.rb +9 -0
  9. data/lib/faker/books/dune.rb +17 -12
  10. data/lib/faker/books/lovecraft.rb +16 -44
  11. data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
  12. data/lib/faker/books.rb +9 -0
  13. data/lib/faker/creature/bird.rb +203 -0
  14. data/lib/faker/creature.rb +9 -0
  15. data/lib/faker/default/address.rb +11 -31
  16. data/lib/faker/default/adjective.rb +35 -0
  17. data/lib/faker/default/alphanumeric.rb +3 -9
  18. data/lib/faker/default/app.rb +1 -10
  19. data/lib/faker/default/avatar.rb +2 -13
  20. data/lib/faker/default/bank.rb +28 -26
  21. data/lib/faker/default/barcode.rb +165 -0
  22. data/lib/faker/default/beer.rb +3 -3
  23. data/lib/faker/default/boolean.rb +2 -4
  24. data/lib/faker/default/camera.rb +46 -0
  25. data/lib/faker/default/cannabis.rb +10 -0
  26. data/lib/faker/default/chile_rut.rb +28 -27
  27. data/lib/faker/default/chuck_norris.rb +1 -0
  28. data/lib/faker/default/code.rb +166 -52
  29. data/lib/faker/default/color.rb +77 -6
  30. data/lib/faker/default/commerce.rb +32 -18
  31. data/lib/faker/default/company.rb +175 -30
  32. data/lib/faker/default/crypto.rb +25 -5
  33. data/lib/faker/default/crypto_coin.rb +3 -15
  34. data/lib/faker/default/date.rb +65 -42
  35. data/lib/faker/default/demographic.rb +1 -5
  36. data/lib/faker/default/driving_licence.rb +45 -20
  37. data/lib/faker/default/drone.rb +332 -0
  38. data/lib/faker/default/educator.rb +13 -0
  39. data/lib/faker/default/emotion.rb +33 -0
  40. data/lib/faker/default/file.rb +5 -22
  41. data/lib/faker/default/finance.rb +51 -7
  42. data/lib/faker/default/food.rb +28 -2
  43. data/lib/faker/default/hipster.rb +15 -52
  44. data/lib/faker/default/hobby.rb +22 -0
  45. data/lib/faker/default/html.rb +230 -0
  46. data/lib/faker/default/id_number.rb +176 -31
  47. data/lib/faker/default/invoice.rb +8 -21
  48. data/lib/faker/default/json.rb +15 -27
  49. data/lib/faker/default/lorem.rb +179 -77
  50. data/lib/faker/default/lorem_flickr.rb +5 -38
  51. data/lib/faker/default/markdown.rb +14 -17
  52. data/lib/faker/default/marketing.rb +1 -1
  53. data/lib/faker/default/measurement.rb +19 -50
  54. data/lib/faker/default/military.rb +26 -0
  55. data/lib/faker/default/mountain.rb +33 -0
  56. data/lib/faker/default/name.rb +1 -5
  57. data/lib/faker/default/nation.rb +0 -3
  58. data/lib/faker/default/{nhs.rb → national_health_service.rb} +10 -10
  59. data/lib/faker/default/number.rb +34 -62
  60. data/lib/faker/default/omniauth.rb +102 -97
  61. data/lib/faker/default/phone_number.rb +36 -21
  62. data/lib/faker/default/placeholdit.rb +12 -22
  63. data/lib/faker/{quotes → default}/quote.rb +39 -0
  64. data/lib/faker/default/relationship.rb +2 -6
  65. data/lib/faker/default/science.rb +108 -0
  66. data/lib/faker/default/source.rb +3 -16
  67. data/lib/faker/default/south_africa.rb +3 -3
  68. data/lib/faker/default/space.rb +1 -1
  69. data/lib/faker/default/sport.rb +116 -0
  70. data/lib/faker/default/string.rb +2 -8
  71. data/lib/faker/default/stripe.rb +7 -23
  72. data/lib/faker/default/tea.rb +41 -0
  73. data/lib/faker/{music/show.rb → default/theater.rb} +8 -8
  74. data/lib/faker/default/time.rb +4 -34
  75. data/lib/faker/default/types.rb +14 -36
  76. data/lib/faker/default/vehicle.rb +45 -55
  77. data/lib/faker/default/vulnerability_identifier.rb +23 -0
  78. data/lib/faker/default/world_cup.rb +2 -11
  79. data/lib/faker/default/x.rb +189 -0
  80. data/lib/faker/default.rb +9 -0
  81. data/lib/faker/fantasy/tolkien.rb +67 -0
  82. data/lib/faker/fantasy.rb +9 -0
  83. data/lib/faker/games/clash_of_clans.rb +48 -0
  84. data/lib/faker/games/control.rb +1 -1
  85. data/lib/faker/games/dnd.rb +131 -14
  86. data/lib/faker/games/dota.rb +14 -5
  87. data/lib/faker/games/elder_scrolls.rb +26 -0
  88. data/lib/faker/games/final_fantasy_xiv.rb +73 -0
  89. data/lib/faker/games/heroes.rb +13 -0
  90. data/lib/faker/games/heroes_of_the_storm.rb +0 -11
  91. data/lib/faker/games/minecraft.rb +66 -1
  92. data/lib/faker/games/myst.rb +1 -1
  93. data/lib/faker/games/street_fighter.rb +61 -0
  94. data/lib/faker/games/super_mario.rb +48 -0
  95. data/lib/faker/games/tarkov.rb +205 -0
  96. data/lib/faker/games/touhou.rb +75 -0
  97. data/lib/faker/games/witcher.rb +39 -0
  98. data/lib/faker/games/world_of_warcraft.rb +26 -1
  99. data/lib/faker/games.rb +9 -0
  100. data/lib/faker/internet.rb +582 -0
  101. data/lib/faker/japanese_media/conan.rb +48 -0
  102. data/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
  103. data/lib/faker/japanese_media/doraemon.rb +48 -0
  104. data/lib/faker/japanese_media/dragon_ball.rb +26 -0
  105. data/lib/faker/japanese_media/fullmetal_alchemist_brotherhood.rb +48 -0
  106. data/lib/faker/japanese_media/kamen_rider.rb +102 -0
  107. data/lib/faker/japanese_media/naruto.rb +61 -0
  108. data/lib/faker/japanese_media/one_piece.rb +1 -1
  109. data/lib/faker/japanese_media/studio_ghibli.rb +48 -0
  110. data/lib/faker/japanese_media.rb +9 -0
  111. data/lib/faker/locations/australia.rb +49 -0
  112. data/lib/faker/locations.rb +9 -0
  113. data/lib/faker/movies/avatar.rb +49 -0
  114. data/lib/faker/movies/hackers.rb +48 -0
  115. data/lib/faker/movies/hobbit.rb +4 -4
  116. data/lib/faker/movies/how_to_train_your_dragon.rb +48 -0
  117. data/lib/faker/movies/lord_of_the_rings.rb +3 -3
  118. data/lib/faker/movies/star_wars.rb +75 -7
  119. data/lib/faker/movies/the_room.rb +63 -0
  120. data/lib/faker/movies/tron.rb +161 -0
  121. data/lib/faker/movies.rb +9 -0
  122. data/lib/faker/music/bossa_nova.rb +35 -0
  123. data/lib/faker/music/grateful_dead.rb +0 -2
  124. data/lib/faker/music/hiphop.rb +48 -0
  125. data/lib/faker/music/opera.rb +237 -1
  126. data/lib/faker/music/pearl_jam.rb +0 -2
  127. data/lib/faker/music/rock_band.rb +12 -0
  128. data/lib/faker/music/rush.rb +0 -2
  129. data/lib/faker/music/smashing_pumpkins.rb +62 -0
  130. data/lib/faker/{music/music.rb → music.rb} +16 -0
  131. data/lib/faker/quotes/rajnikanth.rb +1 -0
  132. data/lib/faker/quotes/shakespeare.rb +34 -0
  133. data/lib/faker/quotes.rb +9 -0
  134. data/lib/faker/religion/bible.rb +50 -0
  135. data/lib/faker/religion.rb +9 -0
  136. data/lib/faker/sports/chess.rb +90 -0
  137. data/lib/faker/sports/mountaineering.rb +22 -0
  138. data/lib/faker/sports/volleyball.rb +74 -0
  139. data/lib/faker/sports.rb +9 -0
  140. data/lib/faker/travel/airport.rb +43 -0
  141. data/lib/faker/travel/train_station.rb +54 -0
  142. data/lib/faker/travel.rb +9 -0
  143. data/lib/faker/tv_shows/archer.rb +51 -0
  144. data/lib/faker/tv_shows/big_bang_theory.rb +1 -1
  145. data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
  146. data/lib/faker/tv_shows/buffy.rb +5 -5
  147. data/lib/faker/tv_shows/dr_who.rb +0 -13
  148. data/lib/faker/tv_shows/final_space.rb +51 -0
  149. data/lib/faker/tv_shows/michael_scott.rb +0 -3
  150. data/lib/faker/tv_shows/south_park.rb +15 -0
  151. data/lib/faker/tv_shows/spongebob.rb +50 -0
  152. data/lib/faker/tv_shows/suits.rb +1 -1
  153. data/lib/faker/tv_shows/supernatural.rb +48 -0
  154. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +5 -5
  155. data/lib/faker/tv_shows/the_office.rb +37 -0
  156. data/lib/faker/tv_shows.rb +9 -0
  157. data/lib/faker/version.rb +2 -2
  158. data/lib/faker.rb +96 -79
  159. data/lib/helpers/base58.rb +1 -1
  160. data/lib/helpers/deprecator.rb +118 -0
  161. data/lib/helpers/positional_generator.rb +478 -0
  162. data/lib/helpers/unique_generator.rb +14 -14
  163. data/lib/locales/README.md +18 -2
  164. data/lib/locales/ar.yml +1608 -46
  165. data/lib/locales/bg.yml +935 -19
  166. data/lib/locales/ca-CAT.yml +347 -12
  167. data/lib/locales/ca.yml +580 -7
  168. data/lib/locales/da-DK.yml +529 -35
  169. data/lib/locales/de-AT.yml +3487 -25
  170. data/lib/locales/de-CH.yml +4359 -10
  171. data/lib/locales/de.yml +7185 -97
  172. data/lib/locales/ee.yml +1185 -27
  173. data/lib/locales/en/address.yml +1826 -562
  174. data/lib/locales/en/adjective.yml +179 -0
  175. data/lib/locales/en/airport.yml +381 -0
  176. data/lib/locales/en/ancient.yml +128 -4
  177. data/lib/locales/en/animal.yml +141 -2
  178. data/lib/locales/en/app.yml +89 -2
  179. data/lib/locales/en/appliance.yml +81 -2
  180. data/lib/locales/en/aqua_teen_hunger_force.yml +31 -31
  181. data/lib/locales/en/archer.yml +75 -0
  182. data/lib/locales/en/artist.yml +43 -1
  183. data/lib/locales/en/australia.yml +108 -0
  184. data/lib/locales/en/avatar.yml +57 -0
  185. data/lib/locales/en/back_to_the_future.yml +145 -117
  186. data/lib/locales/en/bank.yml +92 -3
  187. data/lib/locales/en/barcode.yml +24 -0
  188. data/lib/locales/en/beer.yml +232 -6
  189. data/lib/locales/en/bible.yml +87 -0
  190. data/lib/locales/en/big_bang_theory.yml +34 -35
  191. data/lib/locales/en/bird.yml +1280 -0
  192. data/lib/locales/en/bojack_horseman.yml +63 -3
  193. data/lib/locales/en/book.yml +486 -3
  194. data/lib/locales/en/bossa_nova.yml +110 -3
  195. data/lib/locales/en/breaking_bad.yml +110 -25
  196. data/lib/locales/en/brooklyn_nine_nine.yml +34 -0
  197. data/lib/locales/en/buffy.yml +239 -257
  198. data/lib/locales/en/business.yml +18 -2
  199. data/lib/locales/en/camera.yml +611 -0
  200. data/lib/locales/en/cannabis.yml +344 -10
  201. data/lib/locales/en/cat.yml +155 -3
  202. data/lib/locales/en/chess.yml +102 -0
  203. data/lib/locales/en/chiquito.yml +60 -61
  204. data/lib/locales/en/chuck_norris.yml +78 -79
  205. data/lib/locales/en/clash_of_clan.yml +99 -0
  206. data/lib/locales/en/code.yml +501 -1
  207. data/lib/locales/en/coffee.yml +450 -25
  208. data/lib/locales/en/color.yml +73 -1
  209. data/lib/locales/en/commerce.yml +117 -6
  210. data/lib/locales/en/community.yml +55 -30
  211. data/lib/locales/en/company.yml +1756 -13
  212. data/lib/locales/en/compass.yml +108 -12
  213. data/lib/locales/en/computer.yml +23 -4
  214. data/lib/locales/en/conan.yml +169 -0
  215. data/lib/locales/en/construction.yml +416 -422
  216. data/lib/locales/en/cosmere.yml +219 -54
  217. data/lib/locales/en/cowboy_bebop.yml +160 -0
  218. data/lib/locales/en/culture_series.yml +298 -298
  219. data/lib/locales/en/currency.yml +358 -3
  220. data/lib/locales/en/dc_comics.yml +178 -49
  221. data/lib/locales/en/demographic.yml +218 -5
  222. data/lib/locales/en/departed.yml +40 -44
  223. data/lib/locales/en/dessert.yml +78 -3
  224. data/lib/locales/en/device.yml +112 -4
  225. data/lib/locales/en/dnd.yml +615 -33
  226. data/lib/locales/en/dog.yml +262 -7
  227. data/lib/locales/en/doraemon.yml +284 -0
  228. data/lib/locales/en/dota.yml +704 -63
  229. data/lib/locales/en/dr_who.yml +468 -93
  230. data/lib/locales/en/dragon_ball.yml +243 -1
  231. data/lib/locales/en/driving_license.yml +181 -0
  232. data/lib/locales/en/drone.yml +95 -0
  233. data/lib/locales/en/dumb_and_dumber.yml +72 -56
  234. data/lib/locales/en/dune.yml +270 -131
  235. data/lib/locales/en/educator.yml +6 -0
  236. data/lib/locales/en/elder_scrolls.yml +582 -9
  237. data/lib/locales/en/electrical_components.yml +49 -3
  238. data/lib/locales/en/emotion.yml +480 -0
  239. data/lib/locales/en/esport.yml +58 -5
  240. data/lib/locales/en/fallout.yml +311 -133
  241. data/lib/locales/en/family_guy.yml +54 -4
  242. data/lib/locales/en/file.yml +109 -2
  243. data/lib/locales/en/final_fantasy_xiv.yml +754 -0
  244. data/lib/locales/en/final_space.yml +35 -0
  245. data/lib/locales/en/finance.yml +80 -4
  246. data/lib/locales/en/food.yml +1067 -10
  247. data/lib/locales/en/football.yml +121 -5
  248. data/lib/locales/en/fresh_prince_of_bel_air.yml +119 -70
  249. data/lib/locales/en/friends.yml +162 -3
  250. data/lib/locales/en/fullmetal_alchemist_brotherhood.yml +78 -0
  251. data/lib/locales/en/funny_name.yml +752 -1
  252. data/lib/locales/en/futurama.yml +7 -15
  253. data/lib/locales/en/game.yml +11 -0
  254. data/lib/locales/en/game_of_thrones.yml +2487 -5
  255. data/lib/locales/en/gender.yml +15 -3
  256. data/lib/locales/en/ghostbusters.yml +101 -88
  257. data/lib/locales/en/grateful_dead.yml +47 -45
  258. data/lib/locales/en/greek_philosophers.yml +44 -23
  259. data/lib/locales/en/hacker.yml +110 -5
  260. data/lib/locales/en/hackers.yml +53 -0
  261. data/lib/locales/en/half_life.yml +84 -3
  262. data/lib/locales/en/harry_potter.yml +323 -6
  263. data/lib/locales/en/heroes.yml +408 -3
  264. data/lib/locales/en/heroes_of_the_storm.yml +131 -4
  265. data/lib/locales/en/hey_arnold.yml +104 -21
  266. data/lib/locales/en/hipster.yml +203 -1
  267. data/lib/locales/en/hitchhikers_guide_to_the_galaxy.yml +243 -42
  268. data/lib/locales/en/hobby.yml +170 -0
  269. data/lib/locales/en/horse.yml +446 -2
  270. data/lib/locales/en/house.yml +34 -2
  271. data/lib/locales/en/how_i_met_your_mother.yml +97 -25
  272. data/lib/locales/en/how_to_train_your_dragon.yml +173 -0
  273. data/lib/locales/en/id_number.yml +7 -2
  274. data/lib/locales/en/industry_segments.yml +188 -4
  275. data/lib/locales/en/internet.yml +136 -3
  276. data/lib/locales/en/jack_handey.yml +54 -0
  277. data/lib/locales/en/job.yml +98 -7
  278. data/lib/locales/en/kamen_rider.yml +718 -0
  279. data/lib/locales/en/kpop.yml +954 -80
  280. data/lib/locales/en/league_of_legends.yml +285 -6
  281. data/lib/locales/en/lebowski.yml +58 -40
  282. data/lib/locales/en/lorem.yml +1095 -6
  283. data/lib/locales/en/lovecraft.yml +76 -6
  284. data/lib/locales/en/markdown.yml +12 -2
  285. data/lib/locales/en/marketing.yml +54 -1
  286. data/lib/locales/en/measurement.yml +42 -8
  287. data/lib/locales/en/michael_scott.yml +41 -42
  288. data/lib/locales/en/military.yml +179 -5
  289. data/lib/locales/en/minecraft.yml +273 -0
  290. data/lib/locales/en/mitch_hedberg.yml +46 -0
  291. data/lib/locales/en/mountain.yml +171 -0
  292. data/lib/locales/en/mountaineering.yml +14 -0
  293. data/lib/locales/en/movie.yml +188 -175
  294. data/lib/locales/en/music.yml +461 -29
  295. data/lib/locales/en/myst.yml +87 -31
  296. data/lib/locales/en/name.yml +6068 -6
  297. data/lib/locales/en/naruto.yml +230 -0
  298. data/lib/locales/en/nato_phonetic_alphabet.yml +27 -1
  299. data/lib/locales/en/new_girl.yml +35 -37
  300. data/lib/locales/en/one_piece.yml +359 -6
  301. data/lib/locales/en/opera.yml +169 -1
  302. data/lib/locales/en/overwatch.yml +2648 -2622
  303. data/lib/locales/en/parks_and_rec.yml +33 -4
  304. data/lib/locales/en/pearl_jam.yml +207 -207
  305. data/lib/locales/en/phish.yml +388 -389
  306. data/lib/locales/en/phone_number.yml +78 -3
  307. data/lib/locales/en/pokemon.yml +417 -4
  308. data/lib/locales/en/prince.yml +219 -219
  309. data/lib/locales/en/princess_bride.yml +48 -2
  310. data/lib/locales/en/programming_language.yml +753 -3
  311. data/lib/locales/en/quote.yml +606 -163
  312. data/lib/locales/en/rajnikanth.yml +74 -74
  313. data/lib/locales/en/relationship.yml +29 -6
  314. data/lib/locales/en/restaurant.yml +31 -31
  315. data/lib/locales/en/rick_and_morty.yml +116 -3
  316. data/lib/locales/en/rock_band.yml +228 -1
  317. data/lib/locales/en/rupaul.yml +120 -122
  318. data/lib/locales/en/science.yml +481 -3
  319. data/lib/locales/en/seinfeld.yml +110 -3
  320. data/lib/locales/en/shakespeare.yml +46 -53
  321. data/lib/locales/en/silicon_valley.yml +122 -50
  322. data/lib/locales/en/simpsons.yml +897 -691
  323. data/lib/locales/en/slack_emoji.yml +874 -8
  324. data/lib/locales/en/smashing_pumpkins.yml +382 -0
  325. data/lib/locales/en/source.yml +35 -0
  326. data/lib/locales/en/south_park.yml +360 -2
  327. data/lib/locales/en/space.yml +373 -14
  328. data/lib/locales/en/spongebob.yml +489 -0
  329. data/lib/locales/en/sport.yml +130 -0
  330. data/lib/locales/en/star_trek.yml +105 -4
  331. data/lib/locales/en/star_wars.yml +525 -528
  332. data/lib/locales/en/stargate.yml +65 -18
  333. data/lib/locales/en/stranger_thing.yml +31 -33
  334. data/lib/locales/en/street_fighter.yml +1524 -0
  335. data/lib/locales/en/studio_ghibli.yml +107 -0
  336. data/lib/locales/en/subscription.yml +47 -5
  337. data/lib/locales/en/super_mario.yml +58 -0
  338. data/lib/locales/en/super_smash_bros.yml +23 -6
  339. data/lib/locales/en/superhero.yml +574 -4
  340. data/lib/locales/en/supernatural.yml +141 -0
  341. data/lib/locales/en/sword_art_online.yml +327 -331
  342. data/lib/locales/en/tarkov.yml +593 -0
  343. data/lib/locales/en/tea.yml +172 -0
  344. data/lib/locales/en/team.yml +125 -3
  345. data/lib/locales/en/the_expanse.yml +92 -4
  346. data/lib/locales/en/the_it_crowd.yml +148 -152
  347. data/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
  348. data/lib/locales/en/the_office.yml +82 -0
  349. data/lib/locales/en/the_room.yml +68 -0
  350. data/lib/locales/en/the_thick_of_it.yml +83 -3
  351. data/lib/locales/en/theater.yml +597 -0
  352. data/lib/locales/en/tolkien.yml +2453 -0
  353. data/lib/locales/en/touhou.yml +839 -0
  354. data/lib/locales/en/train_station.yml +280 -0
  355. data/lib/locales/en/tron.yml +227 -0
  356. data/lib/locales/en/twin_peaks.yml +130 -3
  357. data/lib/locales/en/umphreys_mcgee.yml +266 -1
  358. data/lib/locales/en/university.yml +15 -2
  359. data/lib/locales/en/v_for_vendetta.yml +157 -160
  360. data/lib/locales/en/vehicle.yml +2809 -75
  361. data/lib/locales/en/venture_bros.yml +225 -4
  362. data/lib/locales/en/verbs.yml +3785 -5
  363. data/lib/locales/en/volleyball.yml +501 -0
  364. data/lib/locales/en/warhammer_fantasy.yml +540 -573
  365. data/lib/locales/en/witcher.yml +426 -7
  366. data/lib/locales/en/world_cup.yml +1132 -235
  367. data/lib/locales/en/world_of_warcraft.yml +122 -4
  368. data/lib/locales/en/yoda.yml +38 -1
  369. data/lib/locales/en/zelda.yml +962 -4
  370. data/lib/locales/en-AU.yml +725 -48
  371. data/lib/locales/en-BORK.yml +104 -1
  372. data/lib/locales/en-CA.yml +373 -18
  373. data/lib/locales/en-GB.yml +118 -8
  374. data/lib/locales/en-IND.yml +1259 -16
  375. data/lib/locales/en-KE.yml +212 -0
  376. data/lib/locales/en-MS.yml +364 -16
  377. data/lib/locales/en-NEP.yml +212 -35
  378. data/lib/locales/en-NG.yml +737 -65
  379. data/lib/locales/en-NZ.yml +1153 -121
  380. data/lib/locales/en-PAK.yml +392 -9
  381. data/lib/locales/en-SG.yml +581 -15
  382. data/lib/locales/en-TH.yml +1 -1
  383. data/lib/locales/en-UG.yml +374 -75
  384. data/lib/locales/en-US.yml +6921 -81
  385. data/lib/locales/en-ZA.yml +1394 -13
  386. data/lib/locales/en-au-ocker.yml +266 -21
  387. data/lib/locales/en.yml +0 -3
  388. data/lib/locales/es-AR.yml +4570 -0
  389. data/lib/locales/es-MX.yml +1907 -41
  390. data/lib/locales/es.yml +2172 -52
  391. data/lib/locales/fa.yml +1624 -5
  392. data/lib/locales/fi-FI.yml +316 -16
  393. data/lib/locales/fr/address.yml +773 -0
  394. data/lib/locales/fr/adjective.yml +266 -0
  395. data/lib/locales/fr/ancient.yml +141 -0
  396. data/lib/locales/fr/animal.yml +122 -0
  397. data/lib/locales/fr/appliance.yml +69 -0
  398. data/lib/locales/fr/book.yml +31 -0
  399. data/lib/locales/fr/color.yml +34 -0
  400. data/lib/locales/fr/company.yml +497 -0
  401. data/lib/locales/fr/compass.yml +71 -0
  402. data/lib/locales/fr/demographic.yml +6 -0
  403. data/lib/locales/fr/gender.yml +21 -0
  404. data/lib/locales/fr/internet.yml +15 -0
  405. data/lib/locales/fr/lorem.yml +1094 -0
  406. data/lib/locales/fr/measurement.yml +34 -0
  407. data/lib/locales/fr/name.yml +1193 -0
  408. data/lib/locales/fr/phone_number.yml +38 -0
  409. data/lib/locales/fr/pokemon.yml +421 -0
  410. data/lib/locales/fr-CA.yml +2754 -45
  411. data/lib/locales/fr-CH.yml +2455 -42
  412. data/lib/locales/fr.yml +2 -112
  413. data/lib/locales/he.yml +255 -9
  414. data/lib/locales/hy.yml +3630 -119
  415. data/lib/locales/id.yml +839 -10
  416. data/lib/locales/it.yml +1310 -31
  417. data/lib/locales/ja/README.md +13 -0
  418. data/lib/locales/ja/address.yml +363 -0
  419. data/lib/locales/ja/adjective.yml +148 -0
  420. data/lib/locales/ja/ancient.yml +18 -0
  421. data/lib/locales/ja/animal.yml +87 -0
  422. data/lib/locales/ja/artist.yml +46 -0
  423. data/lib/locales/ja/bank.yml +139 -0
  424. data/lib/locales/ja/book.yml +496 -0
  425. data/lib/locales/ja/cat.yml +79 -0
  426. data/lib/locales/ja/coffee.yml +22 -0
  427. data/lib/locales/ja/color.yml +35 -0
  428. data/lib/locales/ja/commerce.yml +103 -0
  429. data/lib/locales/ja/company.yml +26 -0
  430. data/lib/locales/ja/dog.yml +339 -0
  431. data/lib/locales/ja/emotion.yml +49 -0
  432. data/lib/locales/ja/food.yml +41 -0
  433. data/lib/locales/ja/football.yml +115 -0
  434. data/lib/locales/ja/gender.yml +6 -0
  435. data/lib/locales/ja/lorem.yml +1020 -0
  436. data/lib/locales/ja/name.yml +213 -0
  437. data/lib/locales/ja/naruto.yml +230 -0
  438. data/lib/locales/ja/overwatch.yml +37 -0
  439. data/lib/locales/ja/phone_number.yml +13 -0
  440. data/lib/locales/ja/pokemon.yml +441 -0
  441. data/lib/locales/ja/relationship.yml +33 -0
  442. data/lib/locales/ja/restaurant.yml +82 -0
  443. data/lib/locales/ja/space.yml +23 -0
  444. data/lib/locales/ja/sport.yml +130 -0
  445. data/lib/locales/ja/studio_ghibli.yml +112 -0
  446. data/lib/locales/ja/subscription.yml +50 -0
  447. data/lib/locales/ja/super_mario.yml +73 -0
  448. data/lib/locales/ja/super_smash_bros.yml +8 -0
  449. data/lib/locales/ja/touhou.yml +466 -0
  450. data/lib/locales/ja/university.yml +22 -0
  451. data/lib/locales/ja/zelda.yml +19 -0
  452. data/lib/locales/ko.yml +1380 -29
  453. data/lib/locales/lt.yml +315 -0
  454. data/lib/locales/lv.yml +1221 -27
  455. data/lib/locales/mi-NZ.yml +283 -0
  456. data/lib/locales/nb-NO.yml +518 -27
  457. data/lib/locales/nl.yml +33514 -55
  458. data/lib/locales/pl.yml +4008 -38
  459. data/lib/locales/pt-BR.yml +8207 -660
  460. data/lib/locales/pt.yml +844 -43
  461. data/lib/locales/ru.yml +1355 -30
  462. data/lib/locales/sk.yml +4416 -41
  463. data/lib/locales/sv.yml +731 -41
  464. data/lib/locales/th.yml +375 -375
  465. data/lib/locales/tr.yml +77 -19
  466. data/lib/locales/uk.yml +1810 -44
  467. data/lib/locales/vi.yml +392 -48
  468. data/lib/locales/zh-CN/bank.yml +17 -0
  469. data/lib/locales/zh-CN.yml +540 -18
  470. data/lib/locales/zh-TW.yml +1030 -14
  471. metadata +188 -141
  472. data/History.md +0 -176
  473. data/lib/faker/default/bossa_nova.rb +0 -33
  474. data/lib/faker/default/fillmurray.rb +0 -45
  475. data/lib/faker/default/internet.rb +0 -358
  476. data/lib/faker/default/lorem_pixel.rb +0 -69
  477. data/lib/faker/default/twitter.rb +0 -223
  478. data/lib/locales/en/hobbit.yml +0 -19
  479. data/lib/locales/en/lord_of_the_rings.yml +0 -6
  480. data/lib/locales/en/show.yml +0 -597
  481. data/lib/locales/ja.yml +0 -101
  482. /data/lib/faker/{books → default}/book.rb +0 -0
  483. /data/lib/faker/{games → default}/game.rb +0 -0
  484. /data/lib/faker/{movies → default}/movie.rb +0 -0
  485. /data/lib/faker/{default/internet_http.rb → internet/http.rb} +0 -0
@@ -55,6 +55,32 @@ module Faker
55
55
  fetch('military.air_force_rank')
56
56
  end
57
57
 
58
+ ##
59
+ # Produces a rank in the U.S. Space Force.
60
+ #
61
+ # @return [String]
62
+ #
63
+ # @example
64
+ # Faker::Military.space_force_rank #=> "Senior Enlisted Advisor of the Space Force"
65
+ #
66
+ # @faker.version next
67
+ def space_force_rank
68
+ fetch('military.space_force_rank')
69
+ end
70
+
71
+ ##
72
+ # Produces a rank in the U.S. Coast Guard
73
+ #
74
+ # @return [String]
75
+ #
76
+ # @example
77
+ # Faker::Military.coast_guard_rank #=> "Master Chief Petty Officer of the Coast Guard"
78
+ #
79
+ # @faker.version next
80
+ def coast_guard_rank
81
+ fetch('military.coast_guard_rank')
82
+ end
83
+
58
84
  ##
59
85
  # Produces a U.S. Department of Defense Paygrade.
60
86
  #
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Mountain < Base
5
+ class << self
6
+ ##
7
+ # Produces a name of a mountain
8
+ #
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # Faker::Mountain.name #=> "Mount Everest"
13
+ #
14
+ # @faker.version next
15
+ def name
16
+ fetch('mountain.name')
17
+ end
18
+
19
+ ##
20
+ # Produces a name of a range
21
+ #
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::Mountain.range #=> "Dhaulagiri Himalaya"
26
+ #
27
+ # @faker.version next
28
+ def range
29
+ fetch('mountain.range')
30
+ end
31
+ end
32
+ end
33
+ end
@@ -144,11 +144,7 @@ module Faker
144
144
  # Faker::Name.initials(number: 2) #=> "NM"
145
145
  #
146
146
  # @faker.version 1.8.5
147
- def initials(legacy_number = NOT_GIVEN, number: 3)
148
- warn_for_deprecated_arguments do |keywords|
149
- keywords << :number if legacy_number != NOT_GIVEN
150
- end
151
-
147
+ def initials(number: 3)
152
148
  (0...number).map { rand(65..90).chr }.join
153
149
  end
154
150
  end
@@ -17,8 +17,6 @@ module Faker
17
17
  fetch('nation.nationality')
18
18
  end
19
19
 
20
- # rubocop:disable Style/AsciiComments
21
-
22
20
  ##
23
21
  # Produces a random national flag emoji.
24
22
  #
@@ -31,7 +29,6 @@ module Faker
31
29
  def flag
32
30
  sample(translate('faker.nation.flag')).pack('C*').force_encoding('utf-8')
33
31
  end
34
- # rubocop:enable Style/AsciiComments
35
32
 
36
33
  ##
37
34
  # Produces a random national language.
@@ -6,24 +6,28 @@ module Faker
6
6
  ##
7
7
  # Produces a random British NHS number.
8
8
  #
9
+ # The NHS sets aside a range of numbers from 999 000 0000 to 999 999 9999
10
+ # for test purposes.
11
+ #
9
12
  # @return [String]
10
13
  #
11
14
  # @example
12
- # Faker::NationalHealthService.british_number #=> "403 958 5577"
15
+ # Faker::NationalHealthService.british_number #=> "999 464 0232"
13
16
  #
14
17
  # @faker.version 1.9.2
15
18
  def british_number
16
- base_number = rand(400_000_001...499_999_999)
19
+ base_number = rand(999_000_001...999_999_999)
17
20
  # If the check digit is equivalent to 10, the number is invalid.
18
21
  # See https://en.wikipedia.org/wiki/NHS_number
19
22
  base_number -= 1 if check_digit(number: base_number) == 10
20
- "#{base_number}#{check_digit(number: base_number)}".to_s
21
- .chars
23
+ "#{base_number}#{check_digit(number: base_number)}".chars
22
24
  .insert(3, ' ')
23
25
  .insert(7, ' ')
24
- .join('')
26
+ .join
25
27
  end
26
28
 
29
+ private
30
+
27
31
  ##
28
32
  # Produces a random British NHS number's check digit.
29
33
  #
@@ -34,11 +38,7 @@ module Faker
34
38
  # Faker::NationalHealthService.check_digit(number: 400_012_114) #=> 6
35
39
  #
36
40
  # @faker.version 1.9.2
37
- def check_digit(legacy_number = NOT_GIVEN, number: 0)
38
- warn_for_deprecated_arguments do |keywords|
39
- keywords << :number if legacy_number != NOT_GIVEN
40
- end
41
-
41
+ def check_digit(number: 0)
42
42
  sum = 0
43
43
  number.to_s.chars.each_with_index do |digit, idx|
44
44
  position = idx + 1
@@ -13,11 +13,7 @@ module Faker
13
13
  # Faker::Number.number(digits: 10) #=> 1968353479
14
14
  #
15
15
  # @faker.version 1.0.0
16
- def number(legacy_digits = NOT_GIVEN, digits: 10)
17
- warn_for_deprecated_arguments do |keywords|
18
- keywords << :digits if legacy_digits != NOT_GIVEN
19
- end
20
-
16
+ def number(digits: 10)
21
17
  return if digits < 1
22
18
  return rand(0..9).round if digits == 1
23
19
 
@@ -35,12 +31,8 @@ module Faker
35
31
  # Faker::Number.leading_zero_number(digits: 10) #=> "0669336915"
36
32
  #
37
33
  # @faker.version 1.0.0
38
- def leading_zero_number(legacy_digits = NOT_GIVEN, digits: 10)
39
- warn_for_deprecated_arguments do |keywords|
40
- keywords << :digits if legacy_digits != NOT_GIVEN
41
- end
42
-
43
- '0' + (2..digits).collect { digit }.join
34
+ def leading_zero_number(digits: 10)
35
+ "0#{(2..digits).collect { digit }.join}"
44
36
  end
45
37
 
46
38
  ##
@@ -53,11 +45,7 @@ module Faker
53
45
  # Faker::Number.decimal_part(digits: 2) #=> "09"
54
46
  #
55
47
  # @faker.version 1.0.0
56
- def decimal_part(legacy_digits = NOT_GIVEN, digits: 10)
57
- warn_for_deprecated_arguments do |keywords|
58
- keywords << :digits if legacy_digits != NOT_GIVEN
59
- end
60
-
48
+ def decimal_part(digits: 10)
61
49
  num = ''
62
50
  if digits > 1
63
51
  num = non_zero_digit
@@ -78,12 +66,7 @@ module Faker
78
66
  # Faker::Number.decimal(l_digits: 3, r_digits: 3) #=> 181.843
79
67
  #
80
68
  # @faker.version 1.0.0
81
- def decimal(legacy_l_digits = NOT_GIVEN, legacy_r_digits = NOT_GIVEN, l_digits: 5, r_digits: 2)
82
- warn_for_deprecated_arguments do |keywords|
83
- keywords << :l_digits if legacy_l_digits != NOT_GIVEN
84
- keywords << :r_digits if legacy_r_digits != NOT_GIVEN
85
- end
86
-
69
+ def decimal(l_digits: 5, r_digits: 2)
87
70
  l_d = number(digits: l_digits)
88
71
 
89
72
  # Ensure the last digit is not zero
@@ -129,33 +112,39 @@ module Faker
129
112
  # Faker::Number.hexadecimal(digits: 3) #=> "e74"
130
113
  #
131
114
  # @faker.version 1.0.0
132
- def hexadecimal(legacy_digits = NOT_GIVEN, digits: 6)
133
- warn_for_deprecated_arguments do |keywords|
134
- keywords << :digits if legacy_digits != NOT_GIVEN
135
- end
136
-
115
+ def hexadecimal(digits: 6)
137
116
  hex = ''
138
- digits.times { hex += rand(15).to_s(16) }
117
+ digits.times { hex += rand(16).to_s(16) }
139
118
  hex
140
119
  end
141
120
 
121
+ # Produces a number in binary format.
122
+ #
123
+ # @param digits [Integer] Number of digits to generate the binary as string
124
+ # @return [String]
125
+ #
126
+ # @example
127
+ # Faker::Number.binary(digits: 4) #=> "1001"
128
+ #
129
+ # @faker.version next
130
+ def binary(digits: 4)
131
+ bin = ''
132
+ digits.times { bin += rand(2).to_s(2) }
133
+ bin
134
+ end
135
+
142
136
  ##
143
137
  # Produces a float given a mean and standard deviation.
144
138
  #
145
139
  # @param mean [Integer]
146
- # @param standard_deviation [Integer, Float]
140
+ # @param standard_deviation [Numeric]
147
141
  # @return [Float]
148
142
  #
149
143
  # @example
150
144
  # Faker::Number.normal(mean: 50, standard_deviation: 3.5) #=> 47.14669604069156
151
145
  #
152
146
  # @faker.version 1.0.0
153
- def normal(legacy_mean = NOT_GIVEN, legacy_standard_deviation = NOT_GIVEN, mean: 1, standard_deviation: 1)
154
- warn_for_deprecated_arguments do |keywords|
155
- keywords << :mean if legacy_mean != NOT_GIVEN
156
- keywords << :standard_deviation if legacy_standard_deviation != NOT_GIVEN
157
- end
158
-
147
+ def normal(mean: 1, standard_deviation: 1)
159
148
  theta = 2 * Math::PI * rand
160
149
  rho = Math.sqrt(-2 * Math.log(1 - rand))
161
150
  scale = standard_deviation * rho
@@ -165,20 +154,16 @@ module Faker
165
154
  ##
166
155
  # Produces a number between two provided values. Boundaries are inclusive.
167
156
  #
168
- # @param from [Integer] The lowest number to include.
169
- # @param to [Integer] The highest number to include.
170
- # @return [Integer]
157
+ # @param from [Numeric] The lowest number to include.
158
+ # @param to [Numeric] The highest number to include.
159
+ # @return [Numeric]
171
160
  #
172
161
  # @example
173
162
  # Faker::Number.between(from: 1, to: 10) #=> 7
163
+ # Faker::Number.between(from: 0.0, to: 1.0) #=> 0.7844640543957383
174
164
  #
175
165
  # @faker.version 1.0.0
176
- def between(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 1.00, to: 5000.00)
177
- warn_for_deprecated_arguments do |keywords|
178
- keywords << :from if legacy_from != NOT_GIVEN
179
- keywords << :to if legacy_to != NOT_GIVEN
180
- end
181
-
166
+ def between(from: 1.00, to: 5000.00)
182
167
  Faker::Base.rand_in_range(from, to)
183
168
  end
184
169
 
@@ -186,17 +171,14 @@ module Faker
186
171
  # Produces a number within two provided values. Boundaries are inclusive or exclusive depending on the range passed.
187
172
  #
188
173
  # @param range [Range] The range from which to generate a number.
189
- # @return [Integer]
174
+ # @return [Numeric]
190
175
  #
191
176
  # @example
192
177
  # Faker::Number.within(range: 1..10) #=> 7
178
+ # Faker::Number.within(range: 0.0..1.0) #=> 0.7844640543957383
193
179
  #
194
180
  # @faker.version 1.0.0
195
- def within(legacy_range = NOT_GIVEN, range: 1.00..5000.00)
196
- warn_for_deprecated_arguments do |keywords|
197
- keywords << :range if legacy_range != NOT_GIVEN
198
- end
199
-
181
+ def within(range: 1.00..5000.00)
200
182
  between(from: range.min, to: range.max)
201
183
  end
202
184
 
@@ -211,12 +193,7 @@ module Faker
211
193
  # Faker::Number.positive #=> 235.59238499107653
212
194
  #
213
195
  # @faker.version 1.0.0
214
- def positive(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 1.00, to: 5000.00)
215
- warn_for_deprecated_arguments do |keywords|
216
- keywords << :from if legacy_from != NOT_GIVEN
217
- keywords << :to if legacy_to != NOT_GIVEN
218
- end
219
-
196
+ def positive(from: 1.00, to: 5000.00)
220
197
  random_number = between(from: from, to: to)
221
198
 
222
199
  greater_than_zero(random_number)
@@ -233,12 +210,7 @@ module Faker
233
210
  # Faker::Number.negative #=> -4480.042585669558
234
211
  #
235
212
  # @faker.version 1.0.0
236
- def negative(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: -5000.00, to: -1.00)
237
- warn_for_deprecated_arguments do |keywords|
238
- keywords << :from if legacy_from != NOT_GIVEN
239
- keywords << :to if legacy_to != NOT_GIVEN
240
- end
241
-
213
+ def negative(from: -5000.00, to: -1.00)
242
214
  random_number = between(from: from, to: to)
243
215
 
244
216
  less_than_zero(random_number)