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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Omniauth < Base
3
5
  require 'time'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class PhoneNumber < Base
3
5
  class << self
@@ -9,6 +11,18 @@ module Faker
9
11
  parse('cell_phone.formats')
10
12
  end
11
13
 
14
+ def country_code
15
+ "+#{fetch('country_code')}"
16
+ end
17
+
18
+ def phone_number_with_country_code
19
+ "#{country_code} #{phone_number}"
20
+ end
21
+
22
+ def cell_phone_with_country_code
23
+ "#{country_code} #{cell_phone}"
24
+ end
25
+
12
26
  # US and Canada only
13
27
  def area_code
14
28
  fetch('phone_number.area_code')
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Placeholdit < Base
3
5
  class << self
@@ -9,8 +11,8 @@ module Faker
9
11
 
10
12
  raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
11
13
  raise ArgumentError, "Supported formats are #{SUPPORTED_FORMATS.join(', ')}" unless SUPPORTED_FORMATS.include?(format)
12
- raise ArgumentError, "background_color must be a hex value without '#'" unless background_color.nil? || background_color.match(/((?:^\h{3}$)|(?:^\h{6}$)){1}(?!.*\H)/)
13
- raise ArgumentError, "text_color must be a hex value without '#'" unless text_color.nil? || text_color.match(/((?:^\h{3}$)|(?:^\h{6}$)){1}(?!.*\H)/)
14
+ raise ArgumentError, "background_color must be a hex value without '#'" unless background_color.nil? || background_color =~ /((?:^\h{3}$)|(?:^\h{6}$)){1}(?!.*\H)/
15
+ raise ArgumentError, "text_color must be a hex value without '#'" unless text_color.nil? || text_color =~ /((?:^\h{3}$)|(?:^\h{6}$)){1}(?!.*\H)/
14
16
 
15
17
  image_url = "https://placehold.it/#{size}.#{format}"
16
18
  image_url += "/#{background_color}" if background_color
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class ProgrammingLanguage < Base
3
5
  class << self
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Relationship < Base
5
+ flexible :relationship
6
+
7
+ class << self
8
+ def familial(connection = nil)
9
+ familial_connections = translate('faker.relationship.familial').keys
10
+
11
+ if connection.nil?
12
+ connection = sample(familial_connections).to_s
13
+ else
14
+ connection = connection.to_s.downcase
15
+
16
+ unless familial_connections.include?(connection.to_sym)
17
+ raise ArgumentError,
18
+ "Familial connections can be left blank or #{familial_connections.join(', ')}"
19
+ end
20
+ end
21
+
22
+ fetch('relationship.familial.' + connection)
23
+ end
24
+
25
+ def in_law
26
+ fetch('relationship.in_law')
27
+ end
28
+
29
+ def spouse
30
+ fetch('relationship.spouse')
31
+ end
32
+
33
+ def parent
34
+ fetch('relationship.parent')
35
+ end
36
+
37
+ def sibling
38
+ fetch('relationship.sibling')
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Restaurant < Base
5
+ flexible :restaurant
6
+
7
+ def self.name
8
+ bothify(parse('restaurant.name'))
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Science < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class SlackEmoji < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Source < Base
3
5
  class << self
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class SouthAfrica < Base
5
+ class << self
6
+ def id_number
7
+ Faker::IDNumber.south_african_id_number
8
+ end
9
+
10
+ def valid_id_number
11
+ Faker::IDNumber.valid_south_african_id_number
12
+ end
13
+
14
+ def invalid_id_number
15
+ Faker::IDNumber.invalid_south_african_id_number
16
+ end
17
+
18
+ def phone_number
19
+ with_locale 'en-ZA' do
20
+ Faker::PhoneNumber.phone_number
21
+ end
22
+ end
23
+
24
+ def cell_phone
25
+ with_locale 'en-ZA' do
26
+ Faker::PhoneNumber.cell_phone
27
+ end
28
+ end
29
+
30
+ def pty_ltd_registration_number
31
+ Faker::Company.south_african_pty_ltd_registration_number
32
+ end
33
+
34
+ def close_corporation_registration_number
35
+ Faker::Company.south_african_close_corporation_registration_number
36
+ end
37
+
38
+ def listed_company_registration_number
39
+ Faker::Company.south_african_listed_company_registration_number
40
+ end
41
+
42
+ def trust_registration_number
43
+ Faker::Company.south_african_trust_registration_number
44
+ end
45
+
46
+ def vat_number
47
+ Faker::Finance.vat_number('ZA')
48
+ end
49
+ end
50
+ end
51
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Space < Base
3
5
  flexible :space
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Stripe < Base
3
5
  class << self
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Subscription < Base
5
+ def self.plan
6
+ fetch('subscription.plans')
7
+ end
8
+
9
+ def self.status
10
+ fetch('subscription.statuses')
11
+ end
12
+
13
+ def self.payment_method
14
+ fetch('subscription.payment_methods')
15
+ end
16
+
17
+ def self.subscription_term
18
+ fetch('subscription.subscription_terms')
19
+ end
20
+
21
+ def self.payment_term
22
+ fetch('subscription.payment_terms')
23
+ end
24
+ end
25
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Superhero < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Team < Base
3
5
  flexible :team
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Time < Faker::Date
3
5
  TIME_RANGES = {
@@ -36,6 +38,7 @@ module Faker
36
38
 
37
39
  def hours(period)
38
40
  raise ArgumentError, 'invalid period' unless TIME_RANGES.key? period
41
+
39
42
  sample(TIME_RANGES[period].to_a)
40
43
  end
41
44
 
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ module TvShows
5
+ end
6
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Twitter < Base
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class Types < Base
3
5
  CHARACTERS = ('0'..'9').to_a + ('a'..'z').to_a
@@ -22,20 +24,16 @@ module Faker
22
24
  rand(from..to).to_i
23
25
  end
24
26
 
25
- def rb_hash(key_count = 1)
27
+ def rb_hash(key_count = 1, type = random_type)
26
28
  {}.tap do |hsh|
27
29
  Lorem.words(key_count * 2).uniq.first(key_count).each do |s|
28
- hsh.merge!(s.to_sym => random_type)
30
+ hsh.merge!(s.to_sym => type)
29
31
  end
30
32
  end
31
33
  end
32
34
 
33
35
  def complex_rb_hash(key_count = 1)
34
- {}.tap do |hsh|
35
- Lorem.words(key_count * 2).uniq.first(key_count).each do |s|
36
- hsh.merge!(s.to_sym => random_complex_type)
37
- end
38
- end
36
+ rb_hash(key_count, random_complex_type)
39
37
  end
40
38
 
41
39
  def rb_array(len = 1)
@@ -76,14 +74,6 @@ module Faker
76
74
  def titleize(word)
77
75
  word.split(/(\W)/).map(&:capitalize).join
78
76
  end
79
-
80
- def resolve(value)
81
- case value
82
- when Array then sample(value)
83
- when Range then rand value
84
- else value
85
- end
86
- end
87
77
  end
88
78
  end
89
79
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Faker
2
4
  class University < Base
3
5
  flexible :university
@@ -0,0 +1,149 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Vehicle < Base
5
+ flexible :vehicle
6
+
7
+ MILEAGE_MIN = 10_000
8
+ MILEAGE_MAX = 90_000
9
+ VIN_LETTERS = 'ABCDEFGHJKLMNPRSTUVWXYZ'
10
+ VIN_MAP = '0123456789X'
11
+ VIN_WEIGHTS = '8765432X098765432'
12
+ VIN_REGEX = /^[A-Z0-9]{3}[A-Z0-9]{5}[A-Z0-9]{1}[A-Z0-9]{1}[A-Z0-0]{1}[A-Z0-9]{1}\d{5}$/
13
+ SG_CHECKSUM_WEIGHTS = [3, 14, 2, 12, 2, 11, 1].freeze
14
+ SG_CHECKSUM_CHARS = 'AYUSPLJGDBZXTRMKHEC'
15
+
16
+ class << self
17
+ def vin
18
+ regexify(VIN_REGEX)
19
+ end
20
+
21
+ def manufacture
22
+ fetch('vehicle.manufacture')
23
+ end
24
+
25
+ def make
26
+ fetch('vehicle.makes')
27
+ end
28
+
29
+ def model(make_of_model = '')
30
+ return fetch("vehicle.models_by_make.#{make}") if make_of_model.empty?
31
+
32
+ fetch("vehicle.models_by_make.#{make_of_model}")
33
+ end
34
+
35
+ def make_and_model
36
+ m = make
37
+
38
+ "#{m} #{model(m)}"
39
+ end
40
+
41
+ def style
42
+ fetch('vehicle.styles')
43
+ end
44
+
45
+ def color
46
+ fetch('vehicle.colors')
47
+ end
48
+
49
+ def transmission
50
+ fetch('vehicle.transmissions')
51
+ end
52
+
53
+ def drive_type
54
+ fetch('vehicle.drive_types')
55
+ end
56
+
57
+ def fuel_type
58
+ fetch('vehicle.fuel_types')
59
+ end
60
+
61
+ def car_type
62
+ fetch('vehicle.car_types')
63
+ end
64
+
65
+ def engine
66
+ "#{sample(fetch_all('vehicle.doors'))} #{fetch('vehicle.cylinder_engine')}"
67
+ end
68
+
69
+ alias engine_size engine
70
+
71
+ def car_options
72
+ Array.new(rand(5...10)) { fetch('vehicle.car_options') }
73
+ end
74
+
75
+ def standard_specs
76
+ Array.new(rand(5...10)) { fetch('vehicle.standard_specs') }
77
+ end
78
+
79
+ def doors
80
+ sample(fetch_all('vehicle.doors'))
81
+ end
82
+ alias door_count doors
83
+
84
+ def year
85
+ Faker::Time.backward(rand_in_range(365, 5475), :all, '%Y').to_i
86
+ end
87
+
88
+ def mileage(min = MILEAGE_MIN, max = MILEAGE_MAX)
89
+ rand_in_range(min, max)
90
+ end
91
+
92
+ alias kilometrage mileage
93
+
94
+ def license_plate(state_abreviation = '')
95
+ return regexify(bothify(fetch('vehicle.license_plate'))) if state_abreviation.empty?
96
+
97
+ key = 'vehicle.license_plate_by_state.' + state_abreviation
98
+ regexify(bothify(fetch(key)))
99
+ end
100
+
101
+ def singapore_license_plate
102
+ key = 'vehicle.license_plate'
103
+ plate_number = regexify(bothify(fetch(key)))
104
+ "#{plate_number}#{singapore_checksum(plate_number)}"
105
+ end
106
+
107
+ private
108
+
109
+ def first_eight(number)
110
+ return number[0...8] unless number.nil?
111
+
112
+ regexify(VIN_REGEX)
113
+ end
114
+ alias last_eight first_eight
115
+
116
+ def calculate_vin_check_digit(vin)
117
+ sum = 0
118
+
119
+ vin.each_char.with_index do |c, i|
120
+ n = vin_char_to_number(c).to_i
121
+ weight = VIN_WEIGHTS[i].to_i
122
+ sum += weight * n
123
+ end
124
+
125
+ mod = sum % 11
126
+ mod == 10 ? 'X' : mod
127
+ end
128
+
129
+ def vin_char_to_number(char)
130
+ index = VIN_LETTERS.split('').index(char)
131
+
132
+ return char.to_i if index.nil?
133
+
134
+ VIN_MAP[index]
135
+ end
136
+
137
+ def singapore_checksum(plate_number)
138
+ padded_alphabets = format('%3s', plate_number[/^[A-Z]+/]).tr(' ', '-').split('')
139
+ padded_digits = format('%04d', plate_number[/\d+/]).split('').map(&:to_i)
140
+ sum = [*padded_alphabets, *padded_digits].each_with_index.reduce(0) do |memo, (char, i)|
141
+ value = char.is_a?(Integer) ? char : char.ord - 64
142
+ memo + (SG_CHECKSUM_WEIGHTS[i] * value)
143
+ end
144
+
145
+ SG_CHECKSUM_CHARS.split('')[sum % 19]
146
+ end
147
+ end
148
+ end
149
+ end