faker 1.9.1 → 1.9.2

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 (427) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +181 -0
  3. data/License.txt +2 -2
  4. data/README.md +252 -162
  5. data/lib/faker.rb +36 -17
  6. data/lib/faker/blockchain/bitcoin.rb +34 -0
  7. data/lib/faker/blockchain/ethereum.rb +16 -0
  8. data/lib/faker/blockchain/tezos.rb +46 -0
  9. data/lib/faker/{book.rb → books/book.rb} +2 -0
  10. data/lib/faker/books/culture_series.rb +34 -0
  11. data/lib/faker/books/dune.rb +58 -0
  12. data/lib/faker/books/lovecraft.rb +73 -0
  13. data/lib/faker/creature/animal.rb +13 -0
  14. data/lib/faker/creature/cat.rb +23 -0
  15. data/lib/faker/creature/dog.rb +43 -0
  16. data/lib/faker/{address.rb → default/address.rb} +10 -0
  17. data/lib/faker/default/alphanumeric.rb +24 -0
  18. data/lib/faker/{ancient.rb → default/ancient.rb} +2 -0
  19. data/lib/faker/{app.rb → default/app.rb} +2 -0
  20. data/lib/faker/{appliance.rb → default/appliance.rb} +2 -0
  21. data/lib/faker/{artist.rb → default/artist.rb} +2 -0
  22. data/lib/faker/{avatar.rb → default/avatar.rb} +3 -0
  23. data/lib/faker/{bank.rb → default/bank.rb} +8 -2
  24. data/lib/faker/{beer.rb → default/beer.rb} +2 -0
  25. data/lib/faker/{boolean.rb → default/boolean.rb} +2 -0
  26. data/lib/faker/{bossa_nova.rb → default/bossa_nova.rb} +2 -0
  27. data/lib/faker/{business.rb → default/business.rb} +2 -0
  28. data/lib/faker/{cannabis.rb → default/cannabis.rb} +0 -1
  29. data/lib/faker/default/chile_rut.rb +44 -0
  30. data/lib/faker/{chuck_norris.rb → default/chuck_norris.rb} +2 -0
  31. data/lib/faker/{code.rb → default/code.rb} +3 -1
  32. data/lib/faker/{coffee.rb → default/coffee.rb} +2 -0
  33. data/lib/faker/default/coin.rb +15 -0
  34. data/lib/faker/{color.rb → default/color.rb} +2 -0
  35. data/lib/faker/{commerce.rb → default/commerce.rb} +3 -0
  36. data/lib/faker/{company.rb → default/company.rb} +35 -1
  37. data/lib/faker/{compass.rb → default/compass.rb} +2 -0
  38. data/lib/faker/default/construction.rb +29 -0
  39. data/lib/faker/default/cosmere.rb +48 -0
  40. data/lib/faker/default/creature.rb +6 -0
  41. data/lib/faker/{crypto.rb → default/crypto.rb} +2 -0
  42. data/lib/faker/default/crypto_coin.rb +32 -0
  43. data/lib/faker/{currency.rb → default/currency.rb} +2 -0
  44. data/lib/faker/{date.rb → default/date.rb} +3 -0
  45. data/lib/faker/default/dc_comics.rb +25 -0
  46. data/lib/faker/{demographic.rb → default/demographic.rb} +2 -0
  47. data/lib/faker/{dessert.rb → default/dessert.rb} +2 -0
  48. data/lib/faker/{device.rb → default/device.rb} +2 -0
  49. data/lib/faker/default/driving_licence.rb +59 -0
  50. data/lib/faker/default/educator.rb +38 -0
  51. data/lib/faker/{electrical_components.rb → default/electrical_components.rb} +2 -0
  52. data/lib/faker/{esport.rb → default/esport.rb} +2 -0
  53. data/lib/faker/{file.rb → default/file.rb} +2 -0
  54. data/lib/faker/{fillmurray.rb → default/fillmurray.rb} +2 -0
  55. data/lib/faker/{finance.rb → default/finance.rb} +13 -0
  56. data/lib/faker/{food.rb → default/food.rb} +4 -0
  57. data/lib/faker/{football.rb → default/football.rb} +6 -0
  58. data/lib/faker/{funny_name.rb → default/funny_name.rb} +3 -1
  59. data/lib/faker/default/games.rb +6 -0
  60. data/lib/faker/{gender.rb → default/gender.rb} +2 -0
  61. data/lib/faker/{greek_philosophers.rb → default/greek_philosophers.rb} +2 -0
  62. data/lib/faker/{hacker.rb → default/hacker.rb} +2 -0
  63. data/lib/faker/{hipster.rb → default/hipster.rb} +3 -12
  64. data/lib/faker/default/house.rb +15 -0
  65. data/lib/faker/default/id_number.rb +119 -0
  66. data/lib/faker/default/industry_segments.rb +25 -0
  67. data/lib/faker/{internet.rb → default/internet.rb} +10 -6
  68. data/lib/faker/{invoice.rb → default/invoice.rb} +3 -1
  69. data/lib/faker/default/japanese_media.rb +6 -0
  70. data/lib/faker/{job.rb → default/job.rb} +2 -0
  71. data/lib/faker/default/json.rb +70 -0
  72. data/lib/faker/{kpop.rb → default/kpop.rb} +2 -0
  73. data/lib/faker/{lorem.rb → default/lorem.rb} +5 -17
  74. data/lib/faker/{lorem_flickr.rb → default/lorem_flickr.rb} +2 -0
  75. data/lib/faker/{lorem_pixel.rb → default/lorem_pixel.rb} +2 -0
  76. data/lib/faker/{markdown.rb → default/markdown.rb} +6 -2
  77. data/lib/faker/default/marketing.rb +13 -0
  78. data/lib/faker/{measurement.rb → default/measurement.rb} +4 -2
  79. data/lib/faker/{military.rb → default/military.rb} +2 -0
  80. data/lib/faker/default/movies.rb +6 -0
  81. data/lib/faker/{name.rb → default/name.rb} +7 -11
  82. data/lib/faker/{nation.rb → default/nation.rb} +9 -0
  83. data/lib/faker/{nato_phonetic_alphabet.rb → default/nato_phonetic_alphabet.rb} +2 -0
  84. data/lib/faker/default/nhs.rb +34 -0
  85. data/lib/faker/{number.rb → default/number.rb} +13 -2
  86. data/lib/faker/{omniauth.rb → default/omniauth.rb} +2 -0
  87. data/lib/faker/{phone_number.rb → default/phone_number.rb} +14 -0
  88. data/lib/faker/{placeholdit.rb → default/placeholdit.rb} +4 -2
  89. data/lib/faker/{programming_language.rb → default/programming_language.rb} +2 -0
  90. data/lib/faker/default/relationship.rb +42 -0
  91. data/lib/faker/default/restaurant.rb +11 -0
  92. data/lib/faker/{science.rb → default/science.rb} +2 -0
  93. data/lib/faker/{slack_emoji.rb → default/slack_emoji.rb} +2 -0
  94. data/lib/faker/{source.rb → default/source.rb} +2 -0
  95. data/lib/faker/default/south_africa.rb +51 -0
  96. data/lib/faker/{space.rb → default/space.rb} +2 -0
  97. data/lib/faker/{string.rb → default/string.rb} +0 -0
  98. data/lib/faker/{stripe.rb → default/stripe.rb} +2 -0
  99. data/lib/faker/default/subscription.rb +25 -0
  100. data/lib/faker/{superhero.rb → default/superhero.rb} +2 -0
  101. data/lib/faker/{team.rb → default/team.rb} +2 -0
  102. data/lib/faker/{time.rb → default/time.rb} +3 -0
  103. data/lib/faker/default/tv_shows.rb +6 -0
  104. data/lib/faker/{twitter.rb → default/twitter.rb} +2 -0
  105. data/lib/faker/{types.rb → default/types.rb} +5 -15
  106. data/lib/faker/{university.rb → default/university.rb} +2 -0
  107. data/lib/faker/default/vehicle.rb +149 -0
  108. data/lib/faker/{verb.rb → default/verb.rb} +2 -0
  109. data/lib/faker/{world_cup.rb → default/world_cup.rb} +2 -0
  110. data/lib/faker/deprecate/aqua_teen_hunger_force.rb +15 -0
  111. data/lib/faker/deprecate/back_to_the_future.rb +25 -0
  112. data/lib/faker/deprecate/bitcoin.rb +20 -0
  113. data/lib/faker/deprecate/bojack_horseman.rb +25 -0
  114. data/lib/faker/deprecate/breaking_bad.rb +20 -0
  115. data/lib/faker/deprecate/buffy.rb +35 -0
  116. data/lib/faker/deprecate/cat.rb +25 -0
  117. data/lib/faker/deprecate/community.rb +20 -0
  118. data/lib/faker/deprecate/dog.rb +50 -0
  119. data/lib/faker/deprecate/dota.rb +35 -0
  120. data/lib/faker/deprecate/dr_who.rb +45 -0
  121. data/lib/faker/deprecate/dragon_ball.rb +15 -0
  122. data/lib/faker/deprecate/dumb_and_dumber.rb +25 -0
  123. data/lib/faker/deprecate/dune.rb +35 -0
  124. data/lib/faker/deprecate/elder_scrolls.rb +50 -0
  125. data/lib/faker/deprecate/ethereum.rb +15 -0
  126. data/lib/faker/deprecate/fallout.rb +30 -0
  127. data/lib/faker/deprecate/family_guy.rb +25 -0
  128. data/lib/faker/deprecate/famous_last_words.rb +15 -0
  129. data/lib/faker/deprecate/friends.rb +25 -0
  130. data/lib/faker/deprecate/game_of_thrones.rb +35 -0
  131. data/lib/faker/deprecate/harry_potter.rb +40 -0
  132. data/lib/faker/deprecate/heroes_of_the_storm.rb +30 -0
  133. data/lib/faker/deprecate/hey_arnold.rb +25 -0
  134. data/lib/faker/deprecate/hitchhikers_guide_to_the_galaxy.rb +44 -0
  135. data/lib/faker/deprecate/hobbit.rb +30 -0
  136. data/lib/faker/deprecate/how_i_met_your_mother.rb +30 -0
  137. data/lib/faker/deprecate/league_of_legends.rb +40 -0
  138. data/lib/faker/deprecate/lebowski.rb +25 -0
  139. data/lib/faker/deprecate/lord_of_the_rings.rb +25 -0
  140. data/lib/faker/deprecate/lovecraft.rb +65 -0
  141. data/lib/faker/deprecate/matz.rb +15 -0
  142. data/lib/faker/deprecate/michael_scott.rb +15 -0
  143. data/lib/faker/deprecate/most_interesting_man_in_the_world.rb +15 -0
  144. data/lib/faker/deprecate/myst.rb +35 -0
  145. data/lib/faker/deprecate/new_girl.rb +20 -0
  146. data/lib/faker/deprecate/one_piece.rb +40 -0
  147. data/lib/faker/deprecate/overwatch.rb +25 -0
  148. data/lib/faker/deprecate/parks_and_rec.rb +20 -0
  149. data/lib/faker/deprecate/pokemon.rb +25 -0
  150. data/lib/faker/deprecate/princess_bride.rb +20 -0
  151. data/lib/faker/deprecate/rick_and_morty.rb +25 -0
  152. data/lib/faker/deprecate/robin.rb +15 -0
  153. data/lib/faker/deprecate/rock_band.rb +15 -0
  154. data/lib/faker/deprecate/ru_paul.rb +20 -0
  155. data/lib/faker/deprecate/seinfeld.rb +25 -0
  156. data/lib/faker/deprecate/shakespeare.rb +50 -0
  157. data/lib/faker/deprecate/silicon_valley.rb +50 -0
  158. data/lib/faker/deprecate/simpsons.rb +25 -0
  159. data/lib/faker/deprecate/singular_siegler.rb +15 -0
  160. data/lib/faker/deprecate/south_park.rb +20 -0
  161. data/lib/faker/deprecate/star_trek.rb +30 -0
  162. data/lib/faker/deprecate/star_wars.rb +95 -0
  163. data/lib/faker/deprecate/stargate.rb +25 -0
  164. data/lib/faker/deprecate/stranger_things.rb +20 -0
  165. data/lib/faker/deprecate/sword_art_online.rb +30 -0
  166. data/lib/faker/deprecate/tezos.rb +33 -0
  167. data/lib/faker/deprecate/the_fresh_prince_of_bel_air.rb +25 -0
  168. data/lib/faker/deprecate/the_it_crowd.rb +30 -0
  169. data/lib/faker/deprecate/the_thick_of_it.rb +25 -0
  170. data/lib/faker/deprecate/twin_peaks.rb +25 -0
  171. data/lib/faker/deprecate/umphreys_mcgee.rb +15 -0
  172. data/lib/faker/deprecate/v_for_vendetta.rb +25 -0
  173. data/lib/faker/deprecate/venture_bros.rb +30 -0
  174. data/lib/faker/deprecate/witcher.rb +40 -0
  175. data/lib/faker/deprecate/world_of_warcraft.rb +20 -0
  176. data/lib/faker/deprecate/yoda.rb +16 -0
  177. data/lib/faker/deprecate/zelda.rb +30 -0
  178. data/lib/faker/games/dota.rb +29 -0
  179. data/lib/faker/games/elder_scrolls.rb +41 -0
  180. data/lib/faker/games/fallout.rb +25 -0
  181. data/lib/faker/games/half_life.rb +21 -0
  182. data/lib/faker/games/heroes.rb +21 -0
  183. data/lib/faker/games/heroes_of_the_storm.rb +25 -0
  184. data/lib/faker/games/league_of_legends.rb +33 -0
  185. data/lib/faker/games/myst.rb +29 -0
  186. data/lib/faker/games/overwatch.rb +21 -0
  187. data/lib/faker/games/pokemon.rb +21 -0
  188. data/lib/faker/games/sonic_the_hedgehog.rb +21 -0
  189. data/lib/faker/games/super_smash_bros.rb +17 -0
  190. data/lib/faker/games/witcher.rb +33 -0
  191. data/lib/faker/games/world_of_warcraft.rb +17 -0
  192. data/lib/faker/games/zelda.rb +26 -0
  193. data/lib/faker/japanese_media/dragon_ball.rb +13 -0
  194. data/lib/faker/japanese_media/one_piece.rb +33 -0
  195. data/lib/faker/japanese_media/sword_art_online.rb +25 -0
  196. data/lib/faker/movies/back_to_the_future.rb +21 -0
  197. data/lib/faker/movies/ghostbusters.rb +21 -0
  198. data/lib/faker/movies/grateful_dead.rb +17 -0
  199. data/lib/faker/movies/harry_potter.rb +33 -0
  200. data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +37 -0
  201. data/lib/faker/movies/hobbit.rb +25 -0
  202. data/lib/faker/movies/lebowski.rb +21 -0
  203. data/lib/faker/movies/lord_of_the_rings.rb +21 -0
  204. data/lib/faker/{movie.rb → movies/movie.rb} +2 -0
  205. data/lib/faker/movies/princess_bride.rb +17 -0
  206. data/lib/faker/movies/star_wars.rb +105 -0
  207. data/lib/faker/movies/v_for_vendetta.rb +21 -0
  208. data/lib/faker/{music.rb → music/music.rb} +2 -0
  209. data/lib/faker/music/phish.rb +13 -0
  210. data/lib/faker/music/rock_band.rb +13 -0
  211. data/lib/faker/music/umphreys_mcgee.rb +13 -0
  212. data/lib/faker/quotes/quote.rb +32 -0
  213. data/lib/faker/quotes/shakespeare.rb +41 -0
  214. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +15 -0
  215. data/lib/faker/tv_shows/bojack_horseman.rb +23 -0
  216. data/lib/faker/tv_shows/breaking_bad.rb +19 -0
  217. data/lib/faker/tv_shows/buffy.rb +31 -0
  218. data/lib/faker/tv_shows/community.rb +19 -0
  219. data/lib/faker/tv_shows/dr_who.rb +39 -0
  220. data/lib/faker/tv_shows/dumb_and_dumber.rb +23 -0
  221. data/lib/faker/tv_shows/family_guy.rb +23 -0
  222. data/lib/faker/tv_shows/friends.rb +23 -0
  223. data/lib/faker/tv_shows/game_of_thrones.rb +31 -0
  224. data/lib/faker/tv_shows/hey_arnold.rb +23 -0
  225. data/lib/faker/tv_shows/how_i_met_your_mother.rb +27 -0
  226. data/lib/faker/tv_shows/michael_scott.rb +13 -0
  227. data/lib/faker/tv_shows/new_girl.rb +19 -0
  228. data/lib/faker/tv_shows/parks_and_rec.rb +19 -0
  229. data/lib/faker/tv_shows/rick_and_morty.rb +23 -0
  230. data/lib/faker/tv_shows/ru_paul.rb +19 -0
  231. data/lib/faker/tv_shows/seinfeld.rb +23 -0
  232. data/lib/faker/tv_shows/silicon_valley.rb +43 -0
  233. data/lib/faker/tv_shows/simpsons.rb +23 -0
  234. data/lib/faker/tv_shows/south_park.rb +19 -0
  235. data/lib/faker/tv_shows/star_trek.rb +27 -0
  236. data/lib/faker/tv_shows/stargate.rb +23 -0
  237. data/lib/faker/tv_shows/stranger_things.rb +19 -0
  238. data/lib/faker/tv_shows/the_expanse.rb +27 -0
  239. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +23 -0
  240. data/lib/faker/tv_shows/the_it_crowd.rb +27 -0
  241. data/lib/faker/tv_shows/the_thick_of_it.rb +23 -0
  242. data/lib/faker/tv_shows/twin_peaks.rb +23 -0
  243. data/lib/faker/tv_shows/venture_bros.rb +27 -0
  244. data/lib/faker/version.rb +3 -1
  245. data/lib/helpers/base58.rb +22 -0
  246. data/lib/helpers/char.rb +2 -0
  247. data/lib/helpers/i18n_backend.rb +10 -0
  248. data/lib/helpers/unique_generator.rb +19 -1
  249. data/lib/locales/README.md +8 -9
  250. data/lib/locales/ar.yml +102 -0
  251. data/lib/locales/arm.yml +371 -0
  252. data/lib/locales/bg.yml +3 -0
  253. data/lib/locales/ca.yml +6 -0
  254. data/lib/locales/da-DK.yml +6 -3
  255. data/lib/locales/de-AT.yml +6 -0
  256. data/lib/locales/de.yml +10 -3
  257. data/lib/locales/ee.yml +3 -1
  258. data/lib/locales/en-AU.yml +2 -0
  259. data/lib/locales/en-IND.yml +2 -0
  260. data/lib/locales/en-MS.yml +6 -0
  261. data/lib/locales/en-NEP.yml +2 -2
  262. data/lib/locales/en-NG.yml +2 -0
  263. data/lib/locales/en-NZ.yml +2 -6
  264. data/lib/locales/en-PAK.yml +2 -1
  265. data/lib/locales/en-SG.yml +4 -0
  266. data/lib/locales/en-ZA.yml +114 -17
  267. data/lib/locales/en.yml +0 -1
  268. data/lib/locales/en/address.yml +496 -1
  269. data/lib/locales/en/animal.yml +6 -0
  270. data/lib/locales/en/beer.yml +2 -1
  271. data/lib/locales/en/bojack_horseman.yml +2 -2
  272. data/lib/locales/en/buffy.yml +260 -0
  273. data/lib/locales/en/cat.yml +5 -4
  274. data/lib/locales/en/coin.yml +6 -0
  275. data/lib/locales/en/company.yml +1 -1
  276. data/lib/locales/en/construction.yml +425 -0
  277. data/lib/locales/en/cosmere.yml +57 -0
  278. data/lib/locales/en/crypto_coin.yml +9 -0
  279. data/lib/locales/en/culture_series.yml +307 -0
  280. data/lib/locales/en/currency.yml +1 -1
  281. data/lib/locales/en/dc_comics.yml +52 -0
  282. data/lib/locales/en/device.yml +3 -3
  283. data/lib/locales/en/dog.yml +9 -9
  284. data/lib/locales/en/dota.yml +101 -100
  285. data/lib/locales/en/dragon_ball.yml +1 -1
  286. data/lib/locales/en/educator.yml +2 -1
  287. data/lib/locales/en/elder_scrolls.yml +9 -8
  288. data/lib/locales/en/esport.yml +5 -5
  289. data/lib/locales/en/fallout.yml +135 -134
  290. data/lib/locales/en/finance.yml +63 -0
  291. data/lib/locales/en/food.yml +3 -2
  292. data/lib/locales/en/football.yml +1 -0
  293. data/lib/locales/en/friends.yml +3 -3
  294. data/lib/locales/en/ghostbusters.yml +91 -0
  295. data/lib/locales/en/grateful_dead.yml +47 -0
  296. data/lib/locales/en/half_life.yml +7 -0
  297. data/lib/locales/en/heroes.yml +6 -0
  298. data/lib/locales/en/heroes_of_the_storm.yml +7 -0
  299. data/lib/locales/en/house.yml +5 -0
  300. data/lib/locales/en/industry_segments.yml +7 -0
  301. data/lib/locales/en/kpop.yml +2 -2
  302. data/lib/locales/en/league_of_legends.yml +8 -7
  303. data/lib/locales/en/lorem.yml +2 -0
  304. data/lib/locales/en/marketing.yml +4 -0
  305. data/lib/locales/en/music.yml +3 -3
  306. data/lib/locales/en/myst.yml +41 -40
  307. data/lib/locales/en/name.yml +6 -7
  308. data/lib/locales/en/nation.yml +3 -0
  309. data/lib/locales/en/overwatch.yml +39 -34
  310. data/lib/locales/en/phish.yml +4 -0
  311. data/lib/locales/en/phone_number.yml +1 -0
  312. data/lib/locales/en/pokemon.yml +5 -4
  313. data/lib/locales/en/quote.yml +166 -0
  314. data/lib/locales/en/relationship.yml +10 -0
  315. data/lib/locales/en/restaurant.yml +129 -0
  316. data/lib/locales/en/seinfeld.yml +2 -1
  317. data/lib/locales/en/sonic_the_hedgehog.yml +410 -0
  318. data/lib/locales/en/south_park.yml +5 -0
  319. data/lib/locales/en/star_wars.yml +3 -3
  320. data/lib/locales/en/subscription.yml +8 -0
  321. data/lib/locales/en/super_smash_bros.yml +197 -0
  322. data/lib/locales/en/the_expanse.yml +7 -0
  323. data/lib/locales/en/vehicle.yml +62 -58
  324. data/lib/locales/en/witcher.yml +8 -7
  325. data/lib/locales/en/world_of_warcraft.yml +5 -4
  326. data/lib/locales/en/zelda.yml +6 -5
  327. data/lib/locales/es-MX.yml +14 -1
  328. data/lib/locales/es.yml +13 -0
  329. data/lib/locales/fa.yml +4 -0
  330. data/lib/locales/fi-FI.yml +4 -3
  331. data/lib/locales/fr-CA.yml +18 -13
  332. data/lib/locales/fr-CH.yml +16 -10
  333. data/lib/locales/fr.yml +45 -1
  334. data/lib/locales/he.yml +2 -0
  335. data/lib/locales/id.yml +2 -0
  336. data/lib/locales/it.yml +12 -1
  337. data/lib/locales/ja.yml +45 -21
  338. data/lib/locales/ko.yml +2 -0
  339. data/lib/locales/lv.yml +2 -0
  340. data/lib/locales/nb-NO.yml +11 -4
  341. data/lib/locales/nl.yml +13 -4
  342. data/lib/locales/pl.yml +11 -1
  343. data/lib/locales/pt-BR.yml +578 -4
  344. data/lib/locales/pt.yml +10 -3
  345. data/lib/locales/ru.yml +3 -1
  346. data/lib/locales/sk.yml +19 -13
  347. data/lib/locales/sv.yml +11 -3
  348. data/lib/locales/tr.yml +6 -0
  349. data/lib/locales/uk.yml +2 -0
  350. data/lib/locales/vi.yml +6 -1
  351. data/lib/locales/zh-CN.yml +3 -0
  352. data/lib/locales/zh-TW.yml +3 -1
  353. metadata +271 -164
  354. data/lib/extensions/array.rb +0 -22
  355. data/lib/extensions/symbol.rb +0 -8
  356. data/lib/faker/aqua_teen_hunger_force.rb +0 -9
  357. data/lib/faker/back_to_the_future.rb +0 -17
  358. data/lib/faker/bitcoin.rb +0 -47
  359. data/lib/faker/bojack_horseman.rb +0 -17
  360. data/lib/faker/breaking_bad.rb +0 -13
  361. data/lib/faker/cat.rb +0 -19
  362. data/lib/faker/community.rb +0 -13
  363. data/lib/faker/dog.rb +0 -39
  364. data/lib/faker/dota.rb +0 -25
  365. data/lib/faker/dr_who.rb +0 -33
  366. data/lib/faker/dragon_ball.rb +0 -9
  367. data/lib/faker/dumb_and_dumber.rb +0 -17
  368. data/lib/faker/dune.rb +0 -54
  369. data/lib/faker/educator.rb +0 -23
  370. data/lib/faker/elder_scrolls.rb +0 -37
  371. data/lib/faker/ethereum.rb +0 -12
  372. data/lib/faker/fallout.rb +0 -21
  373. data/lib/faker/family_guy.rb +0 -17
  374. data/lib/faker/famous_last_words.rb +0 -11
  375. data/lib/faker/friends.rb +0 -17
  376. data/lib/faker/game_of_thrones.rb +0 -25
  377. data/lib/faker/harry_potter.rb +0 -29
  378. data/lib/faker/hey_arnold.rb +0 -17
  379. data/lib/faker/hitchhikers_guide_to_the_galaxy.rb +0 -33
  380. data/lib/faker/hobbit.rb +0 -21
  381. data/lib/faker/how_i_met_your_mother.rb +0 -21
  382. data/lib/faker/id_number.rb +0 -51
  383. data/lib/faker/league_of_legends.rb +0 -29
  384. data/lib/faker/lebowski.rb +0 -17
  385. data/lib/faker/lord_of_the_rings.rb +0 -17
  386. data/lib/faker/lovecraft.rb +0 -80
  387. data/lib/faker/matz.rb +0 -9
  388. data/lib/faker/michael_scott.rb +0 -9
  389. data/lib/faker/most_interesting_man_in_the_world.rb +0 -9
  390. data/lib/faker/myst.rb +0 -25
  391. data/lib/faker/new_girl.rb +0 -13
  392. data/lib/faker/one_piece.rb +0 -29
  393. data/lib/faker/overwatch.rb +0 -17
  394. data/lib/faker/parks_and_rec.rb +0 -13
  395. data/lib/faker/pokemon.rb +0 -17
  396. data/lib/faker/princess_bride.rb +0 -13
  397. data/lib/faker/rick_and_morty.rb +0 -17
  398. data/lib/faker/robin.rb +0 -9
  399. data/lib/faker/rock_band.rb +0 -9
  400. data/lib/faker/rupaul.rb +0 -15
  401. data/lib/faker/seinfeld.rb +0 -13
  402. data/lib/faker/shakespeare.rb +0 -37
  403. data/lib/faker/silicon_valley.rb +0 -37
  404. data/lib/faker/simpsons.rb +0 -17
  405. data/lib/faker/singular_siegler.rb +0 -9
  406. data/lib/faker/star_trek.rb +0 -21
  407. data/lib/faker/star_wars.rb +0 -101
  408. data/lib/faker/stargate.rb +0 -17
  409. data/lib/faker/stranger_thing.rb +0 -13
  410. data/lib/faker/sword_art_online.rb +0 -21
  411. data/lib/faker/the_fresh_prince_of_bel_air.rb +0 -17
  412. data/lib/faker/the_it_crowd.rb +0 -21
  413. data/lib/faker/the_thick_of_it.rb +0 -17
  414. data/lib/faker/twin_peaks.rb +0 -17
  415. data/lib/faker/umphreys_mcgee.rb +0 -9
  416. data/lib/faker/v_for_vendetta.rb +0 -17
  417. data/lib/faker/vehicle.rb +0 -101
  418. data/lib/faker/venture_bros.rb +0 -21
  419. data/lib/faker/witcher.rb +0 -29
  420. data/lib/faker/world_of_warcraft.rb +0 -13
  421. data/lib/faker/yoda.rb +0 -10
  422. data/lib/faker/zelda.rb +0 -22
  423. data/lib/locales/en/famous_last_words.yml +0 -4
  424. data/lib/locales/en/matz.yml +0 -28
  425. data/lib/locales/en/most_interesting_man_in_the_world.yml +0 -106
  426. data/lib/locales/en/robin.yml +0 -4
  427. data/lib/locales/en/singular_siegler.yml +0 -37
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class IndustrySegments < Base
5
+ flexible :industry_segments
6
+
7
+ class << self
8
+ def industry
9
+ fetch('industry_segments.industry')
10
+ end
11
+
12
+ def super_sector
13
+ fetch('industry_segments.super_sector')
14
+ end
15
+
16
+ def sector
17
+ fetch('industry_segments.sector')
18
+ end
19
+
20
+ def sub_sector
21
+ fetch('industry_segments.sub_sector')
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Internet < Base
3
5
  class << self
@@ -19,10 +21,12 @@ module Faker
19
21
 
20
22
  def username(specifier = nil, separators = %w[. _])
21
23
  with_locale(:en) do
22
- return shuffle(specifier.scan(/\w+/)).join(sample(separators)).downcase if specifier.respond_to?(:scan)
24
+ return shuffle(specifier.scan(/[[:word:]]+/)).join(sample(separators)).downcase if specifier.respond_to?(:scan)
25
+
23
26
  if specifier.is_a?(Integer)
24
27
  # If specifier is Integer and has large value, Argument error exception is raised to overcome memory full error
25
28
  raise ArgumentError, 'Given argument is too large' if specifier > 10**6
29
+
26
30
  tries = 0 # Don't try forever in case we get something like 1_000_000.
27
31
  result = nil
28
32
  loop do
@@ -30,7 +34,7 @@ module Faker
30
34
  tries += 1
31
35
  break unless result.length < specifier && tries < 7
32
36
  end
33
- return result * (specifier / result.length + 1) if specifier > 0
37
+ return result * (specifier / result.length + 1) if specifier.positive?
34
38
  elsif specifier.is_a?(Range)
35
39
  tries = 0
36
40
  result = nil
@@ -54,7 +58,7 @@ module Faker
54
58
  def password(min_length = 8, max_length = 16, mix_case = true, special_chars = false)
55
59
  temp = Lorem.characters(min_length)
56
60
  diff_length = max_length - min_length
57
- if diff_length > 0
61
+ if diff_length.positive?
58
62
  diff_rand = rand(diff_length + 1)
59
63
  temp += Lorem.characters(diff_rand)
60
64
  end
@@ -98,8 +102,8 @@ module Faker
98
102
  end
99
103
 
100
104
  def ip_v4_address
101
- ary = (2..254).to_a
102
- [sample(ary), sample(ary), sample(ary), sample(ary)].join('.')
105
+ [rand_in_range(0, 255), rand_in_range(0, 255),
106
+ rand_in_range(0, 255), rand_in_range(0, 255)].join('.')
103
107
  end
104
108
 
105
109
  def private_ip_v4_address
@@ -170,7 +174,7 @@ module Faker
170
174
  end
171
175
 
172
176
  def slug(words = nil, glue = nil)
173
- glue ||= sample(%w[- _ .])
177
+ glue ||= sample(%w[- _])
174
178
  (words || Faker::Lorem.words(2).join(' ')).delete(',.').gsub(' ', glue).downcase
175
179
  end
176
180
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Invoice < Base
3
5
  flexible :invoice
@@ -37,7 +39,7 @@ module Faker
37
39
  check_digit = check_digit.to_s.rjust(check_digit_match[0].length, '0')
38
40
 
39
41
  # Replace all of the
40
- ref.sub!(check_digit_match[0], check_digit)
42
+ ref = ref.sub(check_digit_match[0], check_digit)
41
43
  end
42
44
 
43
45
  ref
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ module JapaneseMedia
5
+ end
6
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Job < Base
3
5
  flexible :job
@@ -0,0 +1,70 @@
1
+ module Faker
2
+ class Json < Base
3
+ require 'json'
4
+
5
+ class << self
6
+ def shallow_json(width = 3, options = { key: 'Name.first_name', value: 'Name.first_name' })
7
+ options[:key] = options[:key].prepend('Faker::')
8
+ options[:value] = options[:value].prepend('Faker::')
9
+
10
+ hash = build_shallow_hash(width, options)
11
+ JSON.generate(hash)
12
+ end
13
+
14
+ def add_depth_to_json(json = shallow_json, width = 3, options = { key: 'Name.first_name', value: 'Name.first_name' })
15
+ options[:key] = options[:key].prepend('Faker::')
16
+ options[:value] = options[:value].prepend('Faker::')
17
+
18
+ hash = JSON.parse(json)
19
+ hash.each do |key, _|
20
+ add_hash_to_bottom(hash, [key], width, options)
21
+ end
22
+ JSON.generate(hash)
23
+ end
24
+
25
+ private
26
+
27
+ def build_shallow_hash(width, options)
28
+ key = options[:key]
29
+ value = options[:value]
30
+
31
+ hash = {}
32
+ width.times do
33
+ hash[eval(key)] = eval(value)
34
+ end
35
+ hash
36
+ end
37
+
38
+ def add_hash_to_bottom(hash, key_array, width, options)
39
+ key_string = build_keys_from_array(key_array)
40
+ if eval("hash#{key_string}").is_a?(::Hash)
41
+ eval("hash#{key_string}").each do |key, _|
42
+ key_array << key
43
+ add_hash_to_bottom(hash, key_array, width, options)
44
+ end
45
+ else
46
+ add_hash(key_array, hash, width, options)
47
+ key_array.pop
48
+ end
49
+ end
50
+
51
+ def add_hash(key_array, hash, width, options)
52
+ string_to_eval = 'hash'
53
+ key_array.length.times do |index|
54
+ string_to_eval << "['#{key_array[index]}']"
55
+ end
56
+ string_to_eval << " = #{build_shallow_hash(width, options)}"
57
+ eval(string_to_eval)
58
+ hash
59
+ end
60
+
61
+ def build_keys_from_array(key_array)
62
+ key_string = ''
63
+ key_array.each do |value|
64
+ key_string << "['#{value}']"
65
+ end
66
+ key_string
67
+ end
68
+ end
69
+ end
70
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Kpop < Base
3
5
  class << self
@@ -1,8 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  # Based on Perl's Text::Lorem
3
5
  class Lorem < Base
4
- CHARACTERS = ('0'..'9').to_a + ('a'..'z').to_a
5
-
6
6
  class << self
7
7
  def word
8
8
  sample(translate('faker.lorem.words'))
@@ -19,17 +19,15 @@ module Faker
19
19
  end
20
20
 
21
21
  def character
22
- sample(CHARACTERS)
22
+ sample(Types::CHARACTERS)
23
23
  end
24
24
 
25
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
26
+ Alphanumeric.alphanumeric(char_count)
29
27
  end
30
28
 
31
29
  def multibyte
32
- sample('faker.multibyte')
30
+ sample(translate('faker.lorem.multibyte')).pack('C*').force_encoding('utf-8')
33
31
  end
34
32
 
35
33
  def sentence(word_count = 4, supplemental = false, random_words_to_add = 0)
@@ -77,16 +75,6 @@ module Faker
77
75
  def locale_question_mark
78
76
  translate('faker.lorem.punctuation.question_mark') || '?'
79
77
  end
80
-
81
- # If an array or range is passed, a random value will be selected.
82
- # All other values are simply returned.
83
- def resolve(value)
84
- case value
85
- when Array then sample(value)
86
- when Range then rand value
87
- else value
88
- end
89
- end
90
78
  end
91
79
  end
92
80
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class LoremFlickr < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class LoremPixel < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Markdown < Base
3
5
  class << self
@@ -51,8 +53,10 @@ module Faker
51
53
  table.join("\n")
52
54
  end
53
55
 
54
- def random
55
- send(available_methods[rand(0..available_methods.length - 1)])
56
+ def random(*args)
57
+ method_list = available_methods
58
+ args&.each { |ex| method_list.delete_if { |meth| meth == ex.to_sym } }
59
+ send(method_list[rand(0..method_list.length - 1)])
56
60
  end
57
61
 
58
62
  def sandwich(sentences = 3, repeat = 1)
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Marketing < Base
5
+ flexible :marketing
6
+
7
+ class << self
8
+ def buzzwords
9
+ fetch('marketing.buzzwords')
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Measurement < Base
3
5
  class << self
4
- ALL = 'all'.freeze
5
- NONE = 'none'.freeze
6
+ ALL = 'all'
7
+ NONE = 'none'
6
8
 
7
9
  def height(amount = rand(10))
8
10
  define_measurement_locale(amount, 'height')
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Military < Base
3
5
  class << self
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ module Movies
5
+ end
6
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Name < Base
3
5
  flexible :name
@@ -24,14 +26,19 @@ module Faker
24
26
  def male_first_name
25
27
  fetch('name.male_first_name')
26
28
  end
29
+ alias first_name_men male_first_name
30
+ alias masculine_name male_first_name
27
31
 
28
32
  def female_first_name
29
33
  fetch('name.female_first_name')
30
34
  end
35
+ alias first_name_women female_first_name
36
+ alias feminine_name female_first_name
31
37
 
32
38
  def last_name
33
39
  parse('name.last_name')
34
40
  end
41
+ alias middle_name last_name
35
42
 
36
43
  def prefix
37
44
  fetch('name.prefix')
@@ -41,20 +48,9 @@ module Faker
41
48
  fetch('name.suffix')
42
49
  end
43
50
 
44
- def title
45
- Faker::Job.title
46
- end
47
-
48
51
  def initials(character_count = 3)
49
52
  (0...character_count).map { rand(65..90).chr }.join
50
53
  end
51
-
52
- def job_titles
53
- fetch_all('job.position')
54
- end
55
-
56
- deprecate :title, 'Faker::Job.title', 2018, 9
57
- deprecate :job_titles, :none, 2018, 9
58
54
  end
59
55
  end
60
56
  end
@@ -1,11 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Nation < Base
3
5
  flexible :nation
4
6
  class << self
7
+ # Fetch random nationality
5
8
  def nationality
6
9
  fetch('nation.nationality')
7
10
  end
8
11
 
12
+ # Fetch random national flag emoji
13
+ def flag
14
+ sample(translate('faker.nation.flag')).pack('C*').force_encoding('utf-8')
15
+ end
16
+
17
+ # Fetch random language
9
18
  def language
10
19
  fetch('nation.language')
11
20
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class NatoPhoneticAlphabet < Base
3
5
  class << self
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class NationalHealthService < Base
5
+ class << self
6
+ def british_number
7
+ base_number = rand(400_000_001...499_999_999)
8
+ # If the check digit is equivalent to 10, the number is invalid.
9
+ # See https://en.wikipedia.org/wiki/NHS_number
10
+ base_number -= 1 if check_digit(base_number) == 10
11
+ "#{base_number}#{check_digit(base_number)}".to_s
12
+ .chars
13
+ .insert(3, ' ')
14
+ .insert(7, ' ')
15
+ .join('')
16
+ end
17
+
18
+ def check_digit(number = 0)
19
+ sum = 0
20
+ number.to_s.chars.each_with_index do |digit, idx|
21
+ position = idx + 1
22
+ sum += (digit.to_i * (11 - position))
23
+ end
24
+ result = 11 - (sum % 11)
25
+
26
+ # A value of 11 is considered the same as 0
27
+ # See https://en.wikipedia.org/wiki/NHS_number
28
+ return 0 if result == 11
29
+
30
+ result
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,17 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Number < Base
3
5
  class << self
4
6
  def number(digits = 10)
5
7
  num = ''
8
+
6
9
  if digits > 1
7
10
  num = non_zero_digit
8
11
  digits -= 1
9
12
  end
10
- num + leading_zero_number(digits)
13
+
14
+ num + (1..digits).collect { digit }.join
11
15
  end
12
16
 
13
17
  def leading_zero_number(digits = 10)
14
- (1..digits).collect { digit }.join
18
+ '0' + (2..digits).collect { digit }.join
15
19
  end
16
20
 
17
21
  def decimal_part(digits = 10)
@@ -26,6 +30,7 @@ module Faker
26
30
  def decimal(l_digits = 5, r_digits = 2)
27
31
  l_d = number(l_digits)
28
32
  r_d = decimal_part(r_digits)
33
+
29
34
  "#{l_d}.#{r_d}"
30
35
  end
31
36
 
@@ -54,13 +59,19 @@ module Faker
54
59
  Faker::Base.rand_in_range(from, to)
55
60
  end
56
61
 
62
+ def within(range = 1.00..5000.00)
63
+ between(range.min, range.max)
64
+ end
65
+
57
66
  def positive(from = 1.00, to = 5000.00)
58
67
  random_number = between(from, to)
68
+
59
69
  greater_than_zero(random_number)
60
70
  end
61
71
 
62
72
  def negative(from = -5000.00, to = -1.00)
63
73
  random_number = between(from, to)
74
+
64
75
  less_than_zero(random_number)
65
76
  end
66
77