faker 1.8.7 → 2.17.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 (531) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +1423 -6
  3. data/History.md +4 -4
  4. data/License.txt +2 -2
  5. data/README.md +301 -126
  6. data/bin/faker +5 -0
  7. data/lib/faker.rb +150 -61
  8. data/lib/faker/blockchain/aeternity.rb +70 -0
  9. data/lib/faker/blockchain/bitcoin.rb +60 -0
  10. data/lib/faker/blockchain/ethereum.rb +26 -0
  11. data/lib/faker/blockchain/tezos.rb +135 -0
  12. data/lib/faker/books/book.rb +61 -0
  13. data/lib/faker/books/culture_series.rb +83 -0
  14. data/lib/faker/books/dune.rb +132 -0
  15. data/lib/faker/books/lovecraft.rb +280 -0
  16. data/lib/faker/creature/animal.rb +22 -0
  17. data/lib/faker/creature/cat.rb +50 -0
  18. data/lib/faker/creature/dog.rb +115 -0
  19. data/lib/faker/creature/horse.rb +37 -0
  20. data/lib/faker/default/address.rb +368 -0
  21. data/lib/faker/default/alphanumeric.rb +73 -0
  22. data/lib/faker/default/ancient.rb +59 -0
  23. data/lib/faker/default/app.rb +77 -0
  24. data/lib/faker/default/appliance.rb +33 -0
  25. data/lib/faker/default/artist.rb +20 -0
  26. data/lib/faker/default/avatar.rb +60 -0
  27. data/lib/faker/default/bank.rb +207 -0
  28. data/lib/faker/default/barcode.rb +165 -0
  29. data/lib/faker/default/beer.rb +113 -0
  30. data/lib/faker/default/blood.rb +48 -0
  31. data/lib/faker/default/boolean.rb +26 -0
  32. data/lib/faker/default/bossa_nova.rb +33 -0
  33. data/lib/faker/default/business.rb +50 -0
  34. data/lib/faker/default/camera.rb +46 -0
  35. data/lib/faker/default/cannabis.rb +135 -0
  36. data/lib/faker/default/chile_rut.rb +98 -0
  37. data/lib/faker/default/chuck_norris.rb +25 -0
  38. data/lib/faker/default/code.rb +282 -0
  39. data/lib/faker/default/coffee.rb +82 -0
  40. data/lib/faker/default/coin.rb +33 -0
  41. data/lib/faker/default/color.rb +79 -0
  42. data/lib/faker/default/commerce.rb +143 -0
  43. data/lib/faker/default/company.rb +581 -0
  44. data/lib/faker/default/compass.rb +202 -0
  45. data/lib/faker/default/computer.rb +63 -0
  46. data/lib/faker/default/construction.rb +83 -0
  47. data/lib/faker/default/cosmere.rb +138 -0
  48. data/lib/faker/default/crypto.rb +48 -0
  49. data/lib/faker/default/crypto_coin.rb +94 -0
  50. data/lib/faker/default/currency.rb +46 -0
  51. data/lib/faker/default/date.rb +186 -0
  52. data/lib/faker/default/dc_comics.rb +70 -0
  53. data/lib/faker/default/demographic.rb +98 -0
  54. data/lib/faker/default/dessert.rb +48 -0
  55. data/lib/faker/default/device.rb +85 -0
  56. data/lib/faker/default/driving_licence.rb +131 -0
  57. data/lib/faker/default/drone.rb +332 -0
  58. data/lib/faker/default/educator.rb +102 -0
  59. data/lib/faker/default/electrical_components.rb +48 -0
  60. data/lib/faker/default/esport.rb +72 -0
  61. data/lib/faker/default/faker_adjective.rb +35 -0
  62. data/lib/faker/default/file.rb +100 -0
  63. data/lib/faker/default/fillmurray.rb +45 -0
  64. data/lib/faker/default/finance.rb +89 -0
  65. data/lib/faker/default/food.rb +113 -0
  66. data/lib/faker/default/funny_name.rb +90 -0
  67. data/lib/faker/default/gender.rb +46 -0
  68. data/lib/faker/default/greek_philosophers.rb +33 -0
  69. data/lib/faker/default/hacker.rb +103 -0
  70. data/lib/faker/default/hipster.rb +194 -0
  71. data/lib/faker/default/house.rb +33 -0
  72. data/lib/faker/default/id_number.rb +279 -0
  73. data/lib/faker/default/industry_segments.rb +61 -0
  74. data/lib/faker/default/internet.rb +584 -0
  75. data/lib/faker/default/internet_http.rb +48 -0
  76. data/lib/faker/default/invoice.rb +136 -0
  77. data/lib/faker/default/job.rb +61 -0
  78. data/lib/faker/default/json.rb +143 -0
  79. data/lib/faker/default/kpop.rb +85 -0
  80. data/lib/faker/default/lorem.rb +306 -0
  81. data/lib/faker/default/lorem_flickr.rb +138 -0
  82. data/lib/faker/default/lorem_pixel.rb +70 -0
  83. data/lib/faker/default/markdown.rb +175 -0
  84. data/lib/faker/default/marketing.rb +22 -0
  85. data/lib/faker/default/measurement.rb +207 -0
  86. data/lib/faker/default/military.rb +98 -0
  87. data/lib/faker/default/mountain.rb +33 -0
  88. data/lib/faker/default/name.rb +156 -0
  89. data/lib/faker/default/nation.rb +76 -0
  90. data/lib/faker/default/nato_phonetic_alphabet.rb +20 -0
  91. data/lib/faker/default/nhs.rb +57 -0
  92. data/lib/faker/default/number.rb +289 -0
  93. data/lib/faker/default/omniauth.rb +461 -0
  94. data/lib/faker/default/phone_number.rb +137 -0
  95. data/lib/faker/default/placeholdit.rb +63 -0
  96. data/lib/faker/default/programming_language.rb +33 -0
  97. data/lib/faker/default/relationship.rb +91 -0
  98. data/lib/faker/default/restaurant.rb +63 -0
  99. data/lib/faker/default/science.rb +46 -0
  100. data/lib/faker/default/slack_emoji.rb +124 -0
  101. data/lib/faker/default/source.rb +76 -0
  102. data/lib/faker/default/south_africa.rb +141 -0
  103. data/lib/faker/default/space.rb +191 -0
  104. data/lib/faker/default/string.rb +66 -0
  105. data/lib/faker/default/stripe.rb +142 -0
  106. data/lib/faker/default/subscription.rb +70 -0
  107. data/lib/faker/default/superhero.rb +72 -0
  108. data/lib/faker/default/team.rb +74 -0
  109. data/lib/faker/default/time.rb +179 -0
  110. data/lib/faker/default/twitter.rb +223 -0
  111. data/lib/faker/default/types.rb +182 -0
  112. data/lib/faker/default/university.rb +75 -0
  113. data/lib/faker/default/vehicle.rb +342 -0
  114. data/lib/faker/default/verb.rb +72 -0
  115. data/lib/faker/default/world_cup.rb +86 -0
  116. data/lib/faker/fantasy/tolkien.rb +67 -0
  117. data/lib/faker/games/clash_of_clans.rb +48 -0
  118. data/lib/faker/games/control.rb +113 -0
  119. data/lib/faker/games/dnd.rb +136 -0
  120. data/lib/faker/games/dota.rb +80 -0
  121. data/lib/faker/games/elder_scrolls.rb +139 -0
  122. data/lib/faker/games/fallout.rb +62 -0
  123. data/lib/faker/games/game.rb +48 -0
  124. data/lib/faker/games/half_life.rb +48 -0
  125. data/lib/faker/games/heroes.rb +61 -0
  126. data/lib/faker/games/heroes_of_the_storm.rb +72 -0
  127. data/lib/faker/games/league_of_legends.rb +87 -0
  128. data/lib/faker/games/minecraft.rb +113 -0
  129. data/lib/faker/games/myst.rb +74 -0
  130. data/lib/faker/games/overwatch.rb +48 -0
  131. data/lib/faker/games/pokemon.rb +48 -0
  132. data/lib/faker/games/sonic_the_hedgehog.rb +48 -0
  133. data/lib/faker/games/street_fighter.rb +61 -0
  134. data/lib/faker/games/super_mario.rb +48 -0
  135. data/lib/faker/games/super_smash_bros.rb +35 -0
  136. data/lib/faker/games/touhou.rb +75 -0
  137. data/lib/faker/games/warhammer_fantasy.rb +74 -0
  138. data/lib/faker/games/witcher.rb +87 -0
  139. data/lib/faker/games/world_of_warcraft.rb +60 -0
  140. data/lib/faker/games/zelda.rb +62 -0
  141. data/lib/faker/japanese_media/conan.rb +48 -0
  142. data/lib/faker/japanese_media/doraemon.rb +48 -0
  143. data/lib/faker/japanese_media/dragon_ball.rb +48 -0
  144. data/lib/faker/japanese_media/naruto.rb +61 -0
  145. data/lib/faker/japanese_media/one_piece.rb +87 -0
  146. data/lib/faker/japanese_media/studio_ghibli.rb +48 -0
  147. data/lib/faker/japanese_media/sword_art_online.rb +61 -0
  148. data/lib/faker/movies/back_to_the_future.rb +49 -0
  149. data/lib/faker/movies/departed.rb +49 -0
  150. data/lib/faker/movies/ghostbusters.rb +49 -0
  151. data/lib/faker/movies/harry_potter.rb +87 -0
  152. data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +106 -0
  153. data/lib/faker/movies/hobbit.rb +62 -0
  154. data/lib/faker/movies/how_to_train_your_dragon.rb +48 -0
  155. data/lib/faker/movies/lebowski.rb +48 -0
  156. data/lib/faker/movies/lord_of_the_rings.rb +49 -0
  157. data/lib/faker/movies/movie.rb +33 -0
  158. data/lib/faker/movies/princess_bride.rb +36 -0
  159. data/lib/faker/movies/room.rb +63 -0
  160. data/lib/faker/movies/star_wars.rb +273 -0
  161. data/lib/faker/movies/v_for_vendetta.rb +50 -0
  162. data/lib/faker/music/grateful_dead.rb +37 -0
  163. data/lib/faker/music/hiphop.rb +48 -0
  164. data/lib/faker/music/music.rb +133 -0
  165. data/lib/faker/music/opera.rb +298 -0
  166. data/lib/faker/music/pearl_jam.rb +50 -0
  167. data/lib/faker/music/phish.rb +48 -0
  168. data/lib/faker/music/prince.rb +64 -0
  169. data/lib/faker/music/rock_band.rb +34 -0
  170. data/lib/faker/music/rush.rb +37 -0
  171. data/lib/faker/music/show.rb +49 -0
  172. data/lib/faker/music/umphreys_mcgee.rb +22 -0
  173. data/lib/faker/quotes/chiquito.rb +80 -0
  174. data/lib/faker/quotes/quote.rb +111 -0
  175. data/lib/faker/quotes/rajnikanth.rb +27 -0
  176. data/lib/faker/quotes/shakespeare.rb +111 -0
  177. data/lib/faker/sports/basketball.rb +61 -0
  178. data/lib/faker/sports/football.rb +74 -0
  179. data/lib/faker/sports/volleyball.rb +74 -0
  180. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +37 -0
  181. data/lib/faker/tv_shows/big_bang_theory.rb +37 -0
  182. data/lib/faker/tv_shows/bojack_horseman.rb +51 -0
  183. data/lib/faker/tv_shows/breaking_bad.rb +37 -0
  184. data/lib/faker/tv_shows/buffy.rb +89 -0
  185. data/lib/faker/tv_shows/community.rb +38 -0
  186. data/lib/faker/tv_shows/dr_who.rb +115 -0
  187. data/lib/faker/tv_shows/dumb_and_dumber.rb +51 -0
  188. data/lib/faker/tv_shows/family_guy.rb +51 -0
  189. data/lib/faker/tv_shows/final_space.rb +51 -0
  190. data/lib/faker/tv_shows/friends.rb +50 -0
  191. data/lib/faker/tv_shows/futurama.rb +65 -0
  192. data/lib/faker/tv_shows/game_of_thrones.rb +77 -0
  193. data/lib/faker/tv_shows/hey_arnold.rb +50 -0
  194. data/lib/faker/tv_shows/how_i_met_your_mother.rb +64 -0
  195. data/lib/faker/tv_shows/michael_scott.rb +26 -0
  196. data/lib/faker/tv_shows/new_girl.rb +38 -0
  197. data/lib/faker/tv_shows/parks_and_rec.rb +37 -0
  198. data/lib/faker/tv_shows/rick_and_morty.rb +51 -0
  199. data/lib/faker/tv_shows/ru_paul.rb +37 -0
  200. data/lib/faker/tv_shows/seinfeld.rb +51 -0
  201. data/lib/faker/tv_shows/silicon_valley.rb +118 -0
  202. data/lib/faker/tv_shows/simpsons.rb +65 -0
  203. data/lib/faker/tv_shows/south_park.rb +38 -0
  204. data/lib/faker/tv_shows/star_trek.rb +63 -0
  205. data/lib/faker/tv_shows/stargate.rb +51 -0
  206. data/lib/faker/tv_shows/stranger_things.rb +38 -0
  207. data/lib/faker/tv_shows/suits.rb +37 -0
  208. data/lib/faker/tv_shows/the_expanse.rb +63 -0
  209. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +64 -0
  210. data/lib/faker/tv_shows/the_it_crowd.rb +64 -0
  211. data/lib/faker/tv_shows/the_thick_of_it.rb +51 -0
  212. data/lib/faker/tv_shows/twin_peaks.rb +51 -0
  213. data/lib/faker/tv_shows/venture_bros.rb +65 -0
  214. data/lib/faker/version.rb +3 -1
  215. data/lib/helpers/base58.rb +22 -0
  216. data/lib/helpers/char.rb +31 -35
  217. data/lib/helpers/unique_generator.rb +28 -2
  218. data/lib/locales/README.md +8 -9
  219. data/lib/locales/ar.yml +102 -0
  220. data/lib/locales/bg.yml +5 -2
  221. data/lib/locales/ca-CAT.yml +1 -1
  222. data/lib/locales/ca.yml +2 -4
  223. data/lib/locales/da-DK.yml +10 -6
  224. data/lib/locales/de-AT.yml +12 -3
  225. data/lib/locales/de-CH.yml +1696 -1
  226. data/lib/locales/de.yml +19 -9
  227. data/lib/locales/ee.yml +61 -0
  228. data/lib/locales/en-AU.yml +50 -8
  229. data/lib/locales/en-CA.yml +27 -2
  230. data/lib/locales/en-GB.yml +2 -1
  231. data/lib/locales/en-IND.yml +5 -2
  232. data/lib/locales/en-MS.yml +8 -1
  233. data/lib/locales/en-NEP.yml +6 -3
  234. data/lib/locales/en-NG.yml +2 -0
  235. data/lib/locales/en-NZ.yml +140 -17
  236. data/lib/locales/en-PAK.yml +4 -2
  237. data/lib/locales/en-SG.yml +6 -1
  238. data/lib/locales/en-TH.yml +360 -0
  239. data/lib/locales/en-US.yml +37 -9
  240. data/lib/locales/en-ZA.yml +114 -17
  241. data/lib/locales/en-au-ocker.yml +2 -1
  242. data/lib/locales/en.yml +0 -1
  243. data/lib/locales/en/address.yml +501 -3
  244. data/lib/locales/en/adjective.yml +179 -0
  245. data/lib/locales/en/animal.yml +6 -0
  246. data/lib/locales/en/appliance.yml +5 -0
  247. data/lib/locales/en/aqua_teen_hunger_force.yml +33 -1
  248. data/lib/locales/en/bank.yml +275 -60
  249. data/lib/locales/en/barcode.yml +24 -0
  250. data/lib/locales/en/basketball.yml +99 -0
  251. data/lib/locales/en/beer.yml +2 -1
  252. data/lib/locales/en/big_bang_theory.yml +38 -0
  253. data/lib/locales/en/blood.yml +13 -0
  254. data/lib/locales/en/bojack_horseman.yml +6 -0
  255. data/lib/locales/en/buffy.yml +260 -0
  256. data/lib/locales/en/camera.yml +611 -0
  257. data/lib/locales/en/cannabis.yml +13 -0
  258. data/lib/locales/en/cat.yml +5 -4
  259. data/lib/locales/en/chiquito.yml +64 -0
  260. data/lib/locales/en/clash_of_clan.yml +101 -0
  261. data/lib/locales/en/coin.yml +6 -0
  262. data/lib/locales/en/color.yml +1 -1
  263. data/lib/locales/en/community.yml +33 -0
  264. data/lib/locales/en/company.yml +3 -2
  265. data/lib/locales/en/computer.yml +36 -0
  266. data/lib/locales/en/conan.yml +171 -0
  267. data/lib/locales/en/construction.yml +425 -0
  268. data/lib/locales/en/control.yml +247 -0
  269. data/lib/locales/en/cosmere.yml +57 -0
  270. data/lib/locales/en/crypto_coin.yml +25 -0
  271. data/lib/locales/en/culture_series.yml +307 -0
  272. data/lib/locales/en/currency.yml +6 -0
  273. data/lib/locales/en/dc_comics.yml +52 -0
  274. data/lib/locales/en/demographic.yml +218 -5
  275. data/lib/locales/en/departed.yml +50 -0
  276. data/lib/locales/en/dessert.yml +3 -3
  277. data/lib/locales/en/device.yml +115 -0
  278. data/lib/locales/en/dnd.yml +451 -0
  279. data/lib/locales/en/dog.yml +9 -9
  280. data/lib/locales/en/doraemon.yml +286 -0
  281. data/lib/locales/en/dota.yml +573 -0
  282. data/lib/locales/en/dr_who.yml +6 -2
  283. data/lib/locales/en/dragon_ball.yml +243 -1
  284. data/lib/locales/en/driving_license.yml +181 -0
  285. data/lib/locales/en/drone.yml +95 -0
  286. data/lib/locales/en/dumb_and_dumber.yml +1 -1
  287. data/lib/locales/en/dune.yml +401 -131
  288. data/lib/locales/en/educator.yml +76 -6
  289. data/lib/locales/en/elder_scrolls.yml +583 -5
  290. data/lib/locales/en/electrical_components.yml +6 -0
  291. data/lib/locales/en/esport.yml +5 -5
  292. data/lib/locales/en/fallout.yml +313 -134
  293. data/lib/locales/en/final_space.yml +37 -0
  294. data/lib/locales/en/finance.yml +116 -0
  295. data/lib/locales/en/food.yml +6 -2
  296. data/lib/locales/en/football.yml +8 -0
  297. data/lib/locales/en/fresh_prince_of_bel_air.yml +1 -1
  298. data/lib/locales/en/friends.yml +3 -3
  299. data/lib/locales/en/futurama.yml +344 -0
  300. data/lib/locales/en/game.yml +283 -0
  301. data/lib/locales/en/gender.yml +6 -0
  302. data/lib/locales/en/ghostbusters.yml +91 -0
  303. data/lib/locales/en/grateful_dead.yml +48 -0
  304. data/lib/locales/en/greek_philosophers.yml +26 -0
  305. data/lib/locales/en/half_life.yml +88 -0
  306. data/lib/locales/en/harry_potter.yml +2 -1
  307. data/lib/locales/en/heroes.yml +411 -0
  308. data/lib/locales/en/heroes_of_the_storm.yml +134 -0
  309. data/lib/locales/en/horse.yml +6 -0
  310. data/lib/locales/en/house.yml +5 -0
  311. data/lib/locales/en/how_to_train_your_dragon.yml +174 -0
  312. data/lib/locales/en/industry_segments.yml +7 -0
  313. data/lib/locales/en/invoice.yml +6 -0
  314. data/lib/locales/en/jack_handey.yml +54 -0
  315. data/lib/locales/en/job.yml +2 -2
  316. data/lib/locales/en/kpop.yml +3 -3
  317. data/lib/locales/en/league_of_legends.yml +287 -7
  318. data/lib/locales/en/lebowski.yml +1 -1
  319. data/lib/locales/en/lorem.yml +6 -0
  320. data/lib/locales/en/marketing.yml +4 -0
  321. data/lib/locales/en/michael_scott.yml +45 -0
  322. data/lib/locales/en/military.yml +182 -0
  323. data/lib/locales/en/minecraft.yml +663 -0
  324. data/lib/locales/en/mountain.yml +158 -0
  325. data/lib/locales/en/movie.yml +192 -1
  326. data/lib/locales/en/music.yml +451 -1
  327. data/lib/locales/en/myst.yml +104 -0
  328. data/lib/locales/en/name.yml +15 -14
  329. data/lib/locales/en/naruto.yml +231 -0
  330. data/lib/locales/en/nation.yml +11 -0
  331. data/lib/locales/en/nato_phonetic_alphabet.yml +4 -0
  332. data/lib/locales/en/new_girl.yml +40 -0
  333. data/lib/locales/en/one_piece.yml +2 -2
  334. data/lib/locales/en/opera.yml +340 -0
  335. data/lib/locales/en/overwatch.yml +2652 -33
  336. data/lib/locales/en/parks_and_rec.yml +7 -0
  337. data/lib/locales/en/pearl_jam.yml +213 -0
  338. data/lib/locales/en/phish.yml +395 -0
  339. data/lib/locales/en/phone_number.yml +2 -1
  340. data/lib/locales/en/pokemon.yml +419 -5
  341. data/lib/locales/en/prince.yml +227 -0
  342. data/lib/locales/en/princess_bride.yml +5 -0
  343. data/lib/locales/en/programming_language.yml +2 -1
  344. data/lib/locales/en/quote.yml +695 -0
  345. data/lib/locales/en/rajnikanth.yml +77 -0
  346. data/lib/locales/en/relationship.yml +10 -0
  347. data/lib/locales/en/restaurant.yml +129 -0
  348. data/lib/locales/en/rock_band.yml +1 -0
  349. data/lib/locales/en/room.yml +68 -0
  350. data/lib/locales/en/rupaul.yml +51 -21
  351. data/lib/locales/en/rush.yml +32 -0
  352. data/lib/locales/en/science.yml +1 -0
  353. data/lib/locales/en/seinfeld.yml +2 -1
  354. data/lib/locales/en/shakespeare.yml +23 -26
  355. data/lib/locales/en/show.yml +597 -0
  356. data/lib/locales/en/silicon_valley.yml +1 -0
  357. data/lib/locales/en/simpsons.yml +668 -0
  358. data/lib/locales/en/sonic_the_hedgehog.yml +410 -0
  359. data/lib/locales/en/source.yml +46 -0
  360. data/lib/locales/en/south_park.yml +5 -0
  361. data/lib/locales/en/space.yml +3 -2
  362. data/lib/locales/en/star_trek.yml +1 -1
  363. data/lib/locales/en/star_wars.yml +568 -210
  364. data/lib/locales/en/stargate.yml +1 -2
  365. data/lib/locales/en/stranger_thing.yml +36 -0
  366. data/lib/locales/en/street_fighter.yml +1524 -0
  367. data/lib/locales/en/stripe.yml +42 -0
  368. data/lib/locales/en/studio_ghibli.yml +107 -0
  369. data/lib/locales/en/subscription.yml +8 -0
  370. data/lib/locales/en/suits.yml +45 -0
  371. data/lib/locales/en/super_mario.yml +58 -0
  372. data/lib/locales/en/super_smash_bros.yml +220 -0
  373. data/lib/locales/en/sword_art_online.yml +334 -0
  374. data/lib/locales/en/team.yml +1 -1
  375. data/lib/locales/en/the_expanse.yml +7 -0
  376. data/lib/locales/en/the_it_crowd.yml +155 -0
  377. data/lib/locales/en/tolkien.yml +2453 -0
  378. data/lib/locales/en/touhou.yml +839 -0
  379. data/lib/locales/en/vehicle.yml +77 -49
  380. data/lib/locales/en/verbs.yml +8 -0
  381. data/lib/locales/en/volleyball.yml +501 -0
  382. data/lib/locales/en/warhammer_fantasy.yml +582 -0
  383. data/lib/locales/en/witcher.yml +391 -8
  384. data/lib/locales/en/world_cup.yml +271 -0
  385. data/lib/locales/en/world_of_warcraft.yml +124 -5
  386. data/lib/locales/en/zelda.yml +964 -5
  387. data/lib/locales/es-AR.yml +4603 -0
  388. data/lib/locales/es-MX.yml +17 -1
  389. data/lib/locales/es.yml +75 -1
  390. data/lib/locales/fa.yml +6 -0
  391. data/lib/locales/fi-FI.yml +12 -6
  392. data/lib/locales/fr-CA.yml +107 -0
  393. data/lib/locales/fr-CH.yml +78 -0
  394. data/lib/locales/fr.yml +65 -12
  395. data/lib/locales/he.yml +2 -0
  396. data/lib/locales/hy.yml +411 -0
  397. data/lib/locales/id.yml +7 -2
  398. data/lib/locales/it.yml +15 -3
  399. data/lib/locales/ja.yml +86 -15
  400. data/lib/locales/ko.yml +96 -2
  401. data/lib/locales/lv.yml +55 -0
  402. data/lib/locales/nb-NO.yml +15 -6
  403. data/lib/locales/nl.yml +13 -4
  404. data/lib/locales/no.yml +7 -0
  405. data/lib/locales/pl.yml +12 -1
  406. data/lib/locales/pt-BR.yml +624 -17
  407. data/lib/locales/pt.yml +16 -6
  408. data/lib/locales/ru.yml +6 -2
  409. data/lib/locales/sk.yml +21 -13
  410. data/lib/locales/sv.yml +15 -7
  411. data/lib/locales/th.yml +380 -0
  412. data/lib/locales/tr.yml +14 -0
  413. data/lib/locales/uk.yml +17 -4
  414. data/lib/locales/vi.yml +7 -2
  415. data/lib/locales/zh-CN.yml +4 -4
  416. data/lib/locales/zh-TW.yml +3 -1
  417. metadata +448 -127
  418. data/lib/extensions/array.rb +0 -22
  419. data/lib/extensions/symbol.rb +0 -9
  420. data/lib/faker/address.rb +0 -67
  421. data/lib/faker/ancient.rb +0 -21
  422. data/lib/faker/app.rb +0 -23
  423. data/lib/faker/aqua_teen_hunger_force.rb +0 -9
  424. data/lib/faker/artist.rb +0 -9
  425. data/lib/faker/avatar.rb +0 -15
  426. data/lib/faker/back_to_the_future.rb +0 -17
  427. data/lib/faker/bank.rb +0 -37
  428. data/lib/faker/beer.rb +0 -40
  429. data/lib/faker/bitcoin.rb +0 -48
  430. data/lib/faker/book.rb +0 -23
  431. data/lib/faker/boolean.rb +0 -9
  432. data/lib/faker/bossa_nova.rb +0 -13
  433. data/lib/faker/breaking_bad.rb +0 -16
  434. data/lib/faker/business.rb +0 -22
  435. data/lib/faker/cat.rb +0 -19
  436. data/lib/faker/chuck_norris.rb +0 -11
  437. data/lib/faker/code.rb +0 -147
  438. data/lib/faker/coffee.rb +0 -29
  439. data/lib/faker/color.rb +0 -30
  440. data/lib/faker/commerce.rb +0 -64
  441. data/lib/faker/company.rb +0 -162
  442. data/lib/faker/compass.rb +0 -65
  443. data/lib/faker/crypto.rb +0 -19
  444. data/lib/faker/date.rb +0 -80
  445. data/lib/faker/demographic.rb +0 -35
  446. data/lib/faker/dessert.rb +0 -19
  447. data/lib/faker/dog.rb +0 -39
  448. data/lib/faker/dr_who.rb +0 -34
  449. data/lib/faker/dragon_ball.rb +0 -9
  450. data/lib/faker/dumb_and_dumber.rb +0 -17
  451. data/lib/faker/dune.rb +0 -54
  452. data/lib/faker/educator.rb +0 -23
  453. data/lib/faker/elder_scrolls.rb +0 -21
  454. data/lib/faker/esport.rb +0 -25
  455. data/lib/faker/fallout.rb +0 -21
  456. data/lib/faker/family_guy.rb +0 -17
  457. data/lib/faker/file.rb +0 -24
  458. data/lib/faker/fillmurray.rb +0 -14
  459. data/lib/faker/finance.rb +0 -28
  460. data/lib/faker/food.rb +0 -25
  461. data/lib/faker/friends.rb +0 -17
  462. data/lib/faker/funny_name.rb +0 -43
  463. data/lib/faker/game_of_thrones.rb +0 -25
  464. data/lib/faker/hacker.rb +0 -45
  465. data/lib/faker/harry_potter.rb +0 -25
  466. data/lib/faker/hey_arnold.rb +0 -17
  467. data/lib/faker/hipster.rb +0 -59
  468. data/lib/faker/hitchhikers_guide_to_the_galaxy.rb +0 -33
  469. data/lib/faker/hobbit.rb +0 -21
  470. data/lib/faker/how_i_met_your_mother.rb +0 -21
  471. data/lib/faker/id_number.rb +0 -36
  472. data/lib/faker/internet.rb +0 -178
  473. data/lib/faker/job.rb +0 -16
  474. data/lib/faker/kpop.rb +0 -29
  475. data/lib/faker/league_of_legends.rb +0 -29
  476. data/lib/faker/lebowski.rb +0 -17
  477. data/lib/faker/lord_of_the_rings.rb +0 -13
  478. data/lib/faker/lorem.rb +0 -68
  479. data/lib/faker/lorem_pixel.rb +0 -21
  480. data/lib/faker/lovecraft.rb +0 -73
  481. data/lib/faker/markdown.rb +0 -67
  482. data/lib/faker/matz.rb +0 -9
  483. data/lib/faker/measurement.rb +0 -127
  484. data/lib/faker/most_interesting_man_in_the_world.rb +0 -9
  485. data/lib/faker/movie.rb +0 -9
  486. data/lib/faker/music.rb +0 -33
  487. data/lib/faker/name.rb +0 -46
  488. data/lib/faker/number.rb +0 -86
  489. data/lib/faker/omniauth.rb +0 -340
  490. data/lib/faker/one_piece.rb +0 -29
  491. data/lib/faker/overwatch.rb +0 -17
  492. data/lib/faker/phone_number.rb +0 -44
  493. data/lib/faker/placeholdit.rb +0 -20
  494. data/lib/faker/pokemon.rb +0 -17
  495. data/lib/faker/programming_language.rb +0 -13
  496. data/lib/faker/rick_and_morty.rb +0 -17
  497. data/lib/faker/robin.rb +0 -9
  498. data/lib/faker/rock_band.rb +0 -9
  499. data/lib/faker/rupaul.rb +0 -15
  500. data/lib/faker/science.rb +0 -15
  501. data/lib/faker/seinfeld.rb +0 -13
  502. data/lib/faker/shakespeare.rb +0 -40
  503. data/lib/faker/silicon_valley.rb +0 -33
  504. data/lib/faker/simpsons.rb +0 -22
  505. data/lib/faker/slack_emoji.rb +0 -43
  506. data/lib/faker/space.rb +0 -58
  507. data/lib/faker/star_trek.rb +0 -21
  508. data/lib/faker/star_wars.rb +0 -102
  509. data/lib/faker/stargate.rb +0 -17
  510. data/lib/faker/superhero.rb +0 -25
  511. data/lib/faker/team.rb +0 -24
  512. data/lib/faker/the_fresh_prince_of_bel_air.rb +0 -17
  513. data/lib/faker/the_thick_of_it.rb +0 -17
  514. data/lib/faker/time.rb +0 -51
  515. data/lib/faker/twin_peaks.rb +0 -17
  516. data/lib/faker/twitter.rb +0 -172
  517. data/lib/faker/types.rb +0 -93
  518. data/lib/faker/umphreys_mcgee.rb +0 -9
  519. data/lib/faker/university.rb +0 -28
  520. data/lib/faker/v_for_vendetta.rb +0 -17
  521. data/lib/faker/vehicle.rb +0 -39
  522. data/lib/faker/venture_bros.rb +0 -21
  523. data/lib/faker/witcher.rb +0 -29
  524. data/lib/faker/world_of_warcraft.rb +0 -13
  525. data/lib/faker/yoda.rb +0 -10
  526. data/lib/faker/zelda.rb +0 -22
  527. data/lib/locales/en/hobbit.yml +0 -19
  528. data/lib/locales/en/lord_of_the_rings.yml +0 -5
  529. data/lib/locales/en/matz.yml +0 -28
  530. data/lib/locales/en/most_interesting_man_in_the_world.yml +0 -106
  531. data/lib/locales/en/robin.yml +0 -4
@@ -1,36 +0,0 @@
1
- module Faker
2
- class IDNumber < Base
3
-
4
- INVALID_SSN = [
5
- /0{3}-\d{2}-\d{4}/,
6
- /\d{3}-0{2}-\d{4}/,
7
- /\d{3}-\d{2}-0{4}/,
8
- /666-\d{2}-\d{4}/,
9
- /9\d{2}-\d{2}-\d{4}/
10
- ]
11
-
12
- class << self
13
-
14
- def valid
15
- _translate('valid')
16
- end
17
-
18
- def invalid
19
- _translate('invalid')
20
- end
21
-
22
- def ssn_valid
23
- ssn = regexify(/[0-8]\d{2}-\d{2}-\d{4}/)
24
- # We could still have all 0s in one segment or another
25
- INVALID_SSN.any? { |regex| regex =~ ssn } ? ssn_valid : ssn
26
- end
27
-
28
- private
29
-
30
- def _translate(key)
31
- parse("id_number.#{key}")
32
- end
33
- end
34
-
35
- end
36
- end
@@ -1,178 +0,0 @@
1
- module Faker
2
- class Internet < Base
3
- class << self
4
-
5
- def email(name = nil)
6
- [user_name(name), domain_name].join('@')
7
- end
8
-
9
- def free_email(name = nil)
10
- [user_name(name), fetch('internet.free_email')].join('@')
11
- end
12
-
13
- def safe_email(name = nil)
14
- [user_name(name), 'example.'+ sample(%w[org com net])].join('@')
15
- end
16
-
17
- def user_name(specifier = nil, separators = %w(. _))
18
- with_locale(:en) do
19
- if specifier.respond_to?(:scan)
20
- return specifier.scan(/\w+/).shuffle.join(sample(separators)).downcase
21
- elsif specifier.kind_of?(Integer)
22
- # If specifier is Integer and has large value, Argument error exception is raised to overcome memory full error
23
- raise ArgumentError, "Given argument is too large" if specifier > 10**6
24
- tries = 0 # Don't try forever in case we get something like 1_000_000.
25
- begin
26
- result = user_name(nil, separators)
27
- tries += 1
28
- end while result.length < specifier && tries < 7
29
- return result * (specifier/result.length + 1) if specifier > 0
30
- elsif specifier.kind_of?(Range)
31
- tries = 0
32
- begin
33
- result = user_name(specifier.min, separators)
34
- tries += 1
35
- end while !specifier.include?(result.length) && tries < 7
36
- return result[0...specifier.max]
37
- end
38
-
39
- sample([
40
- Char.prepare(Name.first_name),
41
- [Name.first_name, Name.last_name].map{ |name|
42
- Char.prepare(name)
43
- }.join(sample(separators))
44
- ])
45
- end
46
- end
47
-
48
- def password(min_length = 8, max_length = 16, mix_case = true, special_chars = false)
49
- temp = Lorem.characters(min_length)
50
- diff_length = max_length - min_length
51
- if diff_length > 0
52
- diff_rand = rand(diff_length + 1)
53
- temp += Lorem.characters(diff_rand)
54
- end
55
-
56
- if mix_case
57
- temp.chars.each_with_index do |char, index|
58
- temp[index] = char.upcase if index.even?
59
- end
60
- end
61
-
62
- if special_chars
63
- chars = %w(! @ # $ % ^ & *)
64
- rand(1..min_length).times do |i|
65
- temp[i] = chars[rand(chars.length)]
66
- end
67
- end
68
-
69
- temp
70
- end
71
-
72
- def domain_name
73
- with_locale(:en) { [Char.prepare(domain_word), domain_suffix].join('.') }
74
- end
75
-
76
- def fix_umlauts(string='')
77
- Char.fix_umlauts(string)
78
- end
79
-
80
- def domain_word
81
- with_locale(:en) { Char.prepare(Company.name.split(' ').first) }
82
- end
83
-
84
- def domain_suffix
85
- fetch('internet.domain_suffix')
86
- end
87
-
88
- def mac_address(prefix='')
89
- prefix_digits = prefix.split(':').map{ |d| d.to_i(16) }
90
- address_digits = (6 - prefix_digits.size).times.map{ rand(256) }
91
- (prefix_digits + address_digits).map{ |d| '%02x' % d }.join(':')
92
- end
93
-
94
- def ip_v4_address
95
- ary = (2..254).to_a
96
- [ sample(ary), sample(ary), sample(ary), sample(ary) ].join('.')
97
- end
98
-
99
- def private_ip_v4_address
100
- begin
101
- addr = ip_v4_address
102
- end while !private_net_checker[addr]
103
- addr
104
- end
105
-
106
- def public_ip_v4_address
107
- begin
108
- addr = ip_v4_address
109
- end while reserved_net_checker[addr]
110
- addr
111
- end
112
-
113
- def private_nets_regex
114
- [
115
- /^10\./, # 10.0.0.0 – 10.255.255.255
116
- /^100\.(6[4-9]|[7-9]\d|1[0-1]\d|12[0-7])\./, # 100.64.0.0 – 100.127.255.255
117
- /^127\./, # 127.0.0.0 – 127.255.255.255
118
- /^169\.254\./, # 169.254.0.0 – 169.254.255.255
119
- /^172\.(1[6-9]|2\d|3[0-1])\./, # 172.16.0.0 – 172.31.255.255
120
- /^192\.0\.0\./, # 192.0.0.0 – 192.0.0.255
121
- /^192\.168\./, # 192.168.0.0 – 192.168.255.255
122
- /^198\.(1[8-9])\./ # 198.18.0.0 – 198.19.255.255
123
- ]
124
- end
125
-
126
- def private_net_checker
127
- lambda { |addr| private_nets_regex.any? { |net| net =~ addr } }
128
- end
129
-
130
- def reserved_nets_regex
131
- [
132
- /^0\./, # 0.0.0.0 – 0.255.255.255
133
- /^192\.0\.2\./, # 192.0.2.0 – 192.0.2.255
134
- /^192\.88\.99\./, # 192.88.99.0 – 192.88.99.255
135
- /^198\.51\.100\./, # 198.51.100.0 – 198.51.100.255
136
- /^203\.0\.113\./, # 203.0.113.0 – 203.0.113.255
137
- /^(22[4-9]|23\d)\./, # 224.0.0.0 – 239.255.255.255
138
- /^(24\d|25[0-5])\./ # 240.0.0.0 – 255.255.255.254 and 255.255.255.255
139
- ]
140
- end
141
-
142
- def reserved_net_checker
143
- ->(addr){ (private_nets_regex + reserved_nets_regex).any? { |net| net =~ addr } }
144
- end
145
-
146
- def ip_v4_cidr
147
- "#{ip_v4_address}/#{1 + rand(31)}"
148
- end
149
-
150
- def ip_v6_address
151
- (1..8).map { rand(65536).to_s(16) }.join(':')
152
- end
153
-
154
- def ip_v6_cidr
155
- "#{ip_v6_address}/#{1 + rand(127)}"
156
- end
157
-
158
- def url(host = domain_name, path = "/#{user_name}", scheme = 'http')
159
- "#{scheme}://#{host}#{path}"
160
- end
161
-
162
- def slug(words = nil, glue = nil)
163
- glue ||= sample(%w[- _ .])
164
- (words || Faker::Lorem::words(2).join(' ')).gsub(' ', glue).downcase
165
- end
166
-
167
- def device_token
168
- shuffle(rand(16 ** 64).to_s(16).rjust(64, '0').chars.to_a).join
169
- end
170
-
171
- def user_agent(vendor = nil)
172
- agent_hash = translate('faker.internet.user_agent')
173
- agents = vendor.respond_to?(:to_sym) && agent_hash[vendor.to_sym] || agent_hash[sample(agent_hash.keys)]
174
- sample(agents)
175
- end
176
- end
177
- end
178
- end
data/lib/faker/job.rb DELETED
@@ -1,16 +0,0 @@
1
- module Faker
2
- class Job < Base
3
- flexible :job
4
-
5
- class << self
6
-
7
- def title
8
- parse('job.title')
9
- end
10
-
11
- def field; fetch('job.field'); end
12
- def key_skill; fetch('job.key_skills'); end
13
-
14
- end
15
- end
16
- end
data/lib/faker/kpop.rb DELETED
@@ -1,29 +0,0 @@
1
- module Faker
2
- class Kpop < Base
3
- class << self
4
- def i_groups
5
- fetch('kpop.i_groups')
6
- end
7
-
8
- def ii_groups
9
- fetch('kpop.ii_groups')
10
- end
11
-
12
- def iii_groups
13
- fetch('kpop.iii_groups')
14
- end
15
-
16
- def girl_groups
17
- fetch('kpop.girl_groups')
18
- end
19
-
20
- def boy_bands
21
- fetch('kpop.boy_bands')
22
- end
23
-
24
- def solo
25
- fetch('kpop.solo')
26
- end
27
- end
28
- end
29
- end
@@ -1,29 +0,0 @@
1
- module Faker
2
- class LeagueOfLegends < Base
3
- class << self
4
- def champion
5
- fetch('league_of_legends.champion')
6
- end
7
-
8
- def location
9
- fetch('league_of_legends.location')
10
- end
11
-
12
- def quote
13
- fetch('league_of_legends.quote')
14
- end
15
-
16
- def summoner_spell
17
- fetch('league_of_legends.summoner_spell')
18
- end
19
-
20
- def masteries
21
- fetch('league_of_legends.masteries')
22
- end
23
-
24
- def rank
25
- fetch('league_of_legends.rank')
26
- end
27
- end
28
- end
29
- end
@@ -1,17 +0,0 @@
1
- module Faker
2
- class Lebowski < Base
3
- class << self
4
- def actor
5
- fetch('lebowski.actors')
6
- end
7
-
8
- def character
9
- fetch('lebowski.characters')
10
- end
11
-
12
- def quote
13
- fetch('lebowski.quotes')
14
- end
15
- end
16
- end
17
- end
@@ -1,13 +0,0 @@
1
- module Faker
2
- class LordOfTheRings < Base
3
- class << self
4
- def character
5
- fetch('lord_of_the_rings.characters')
6
- end
7
-
8
- def location
9
- fetch('lord_of_the_rings.locations')
10
- end
11
- end
12
- end
13
- end
data/lib/faker/lorem.rb DELETED
@@ -1,68 +0,0 @@
1
- module Faker
2
- # Based on Perl's Text::Lorem
3
- class Lorem < Base
4
- CHARACTERS = ('0'..'9').to_a + ('a'..'z').to_a
5
-
6
- class << self
7
- def word
8
- sample(translate('faker.lorem.words'))
9
- end
10
-
11
- def words(num = 3, supplemental = false)
12
- resolved_num = resolve(num)
13
- word_list = (
14
- translate('faker.lorem.words') +
15
- (supplemental ? translate('faker.lorem.supplemental') : [])
16
- )
17
- word_list = word_list * ((resolved_num / word_list.length) + 1)
18
- shuffle(word_list)[0, resolved_num]
19
- end
20
-
21
- def character
22
- sample(CHARACTERS)
23
- end
24
-
25
- def characters(char_count = 255)
26
- char_count = resolve(char_count)
27
- return '' if char_count.to_i < 1
28
- Array.new(char_count) { sample(CHARACTERS) }.join
29
- end
30
-
31
- def sentence(word_count = 4, supplemental = false, random_words_to_add = 6)
32
- words(word_count + rand(random_words_to_add.to_i), supplemental).join(' ').capitalize + '.'
33
- end
34
-
35
- def sentences(sentence_count = 3, supplemental = false)
36
- 1.upto(resolve(sentence_count)).collect { sentence(3, supplemental) }
37
- end
38
-
39
- def paragraph(sentence_count = 3, supplemental = false, random_sentences_to_add = 3)
40
- sentences(resolve(sentence_count) + rand(random_sentences_to_add.to_i), supplemental).join(' ')
41
- end
42
-
43
- def paragraphs(paragraph_count = 3, supplemental = false)
44
- 1.upto(resolve(paragraph_count)).collect { paragraph(3, supplemental) }
45
- end
46
-
47
- def question(word_count = 4, supplemental = false, random_words_to_add = 6)
48
- words(word_count + rand(random_words_to_add.to_i), supplemental).join(' ').capitalize + '?'
49
- end
50
-
51
- def questions(question_count = 3, supplemental = false)
52
- 1.upto(resolve(question_count)).collect { question(3, supplemental) }
53
- end
54
-
55
- private
56
-
57
- # If an array or range is passed, a random value will be selected.
58
- # All other values are simply returned.
59
- def resolve(value)
60
- case value
61
- when Array then sample(value)
62
- when Range then rand value
63
- else value
64
- end
65
- end
66
- end
67
- end
68
- end
@@ -1,21 +0,0 @@
1
- module Faker
2
- class LoremPixel < Base
3
- class << self
4
- SUPPORTED_CATEGORIES = %w(abstract animals business cats city food nightlife fashion people nature sports technics transport)
5
-
6
- def image(size = '300x300', is_gray = false, category = nil, number = nil, text = nil)
7
- raise ArgumentError, 'Size should be specified in format 300x300' unless size.match(/^[0-9]+x[0-9]+$/)
8
- raise ArgumentError, "Supported categories are #{SUPPORTED_CATEGORIES.join(', ')}" unless category.nil? || SUPPORTED_CATEGORIES.include?(category)
9
- raise ArgumentError, 'Category required when number is passed' if !number.nil? && category.nil?
10
- raise ArgumentError, 'Number must be between 1 and 10' unless number.nil? || (1..10).include?(number)
11
- raise ArgumentError, 'Category and number must be passed when text is passed' if !text.nil? && number.nil? && category.nil?
12
-
13
- url_parts = ['http://lorempixel.com']
14
- url_parts << 'g' if is_gray
15
- url_parts += size.split('x')
16
- url_parts += [category, number, text].compact
17
- url_parts.join('/')
18
- end
19
- end
20
- end
21
- end
@@ -1,73 +0,0 @@
1
- module Faker
2
- class Lovecraft < Base
3
- class << self
4
- def location
5
- fetch('lovecraft.location')
6
- end
7
-
8
- def fhtagn(number_of = 1)
9
- number_of.times.collect { fetch('lovecraft.fhtagn') }.join(". ")
10
- end
11
-
12
- def deity
13
- fetch('lovecraft.deity')
14
- end
15
-
16
- def tome
17
- fetch('lovecraft.tome')
18
- end
19
-
20
- def sentence(word_count = 4, random_words_to_add = 6)
21
- words(word_count + rand(random_words_to_add.to_i).to_i, true).join(' ').capitalize + '.'
22
- end
23
-
24
- def word
25
- random_word = sample(translate('faker.lovecraft.words'))
26
- random_word.match(/\s/) ? word : random_word
27
- end
28
-
29
- def words(num = 3, spaces_allowed = false)
30
- resolved_num = resolve(num)
31
- word_list = translate('faker.lovecraft.words')
32
- word_list = word_list * ((resolved_num / word_list.length) + 1)
33
-
34
- return shuffle(word_list)[0, resolved_num] if spaces_allowed
35
- words = shuffle(word_list)[0, resolved_num]
36
- words.each_with_index { |w, i| words[i] = word if w.match(/\s/) }
37
- end
38
-
39
-
40
- def sentences(sentence_count = 3)
41
- [].tap do |sentences|
42
- 1.upto(resolve(sentence_count)) do
43
- sentences << sentence(3)
44
- end
45
- end
46
- end
47
-
48
- def paragraph(sentence_count = 3, random_sentences_to_add = 3)
49
- sentences(resolve(sentence_count) + rand(random_sentences_to_add.to_i).to_i).join(' ')
50
- end
51
-
52
- def paragraphs(paragraph_count = 3)
53
- [].tap do |paragraphs|
54
- 1.upto(resolve(paragraph_count)) do
55
- paragraphs << paragraph(3)
56
- end
57
- end
58
- end
59
-
60
- private
61
-
62
- # If an array or range is passed, a random value will be selected.
63
- # All other values are simply returned.
64
- def resolve(value)
65
- case value
66
- when Array then sample(value)
67
- when Range then rand value
68
- else value
69
- end
70
- end
71
- end
72
- end
73
- end