faker 2.11.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (380) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +810 -19
  3. data/History.md +5 -5
  4. data/README.md +232 -105
  5. data/lib/faker/blockchain/aeternity.rb +5 -5
  6. data/lib/faker/blockchain/bitcoin.rb +2 -2
  7. data/lib/faker/blockchain/ethereum.rb +1 -1
  8. data/lib/faker/blockchain/tezos.rb +31 -3
  9. data/lib/faker/books/dune.rb +17 -12
  10. data/lib/faker/books/lovecraft.rb +14 -41
  11. data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
  12. data/lib/faker/creature/bird.rb +203 -0
  13. data/lib/faker/default/address.rb +40 -30
  14. data/lib/faker/default/adjective.rb +35 -0
  15. data/lib/faker/default/alphanumeric.rb +2 -8
  16. data/lib/faker/default/app.rb +1 -10
  17. data/lib/faker/default/avatar.rb +1 -12
  18. data/lib/faker/default/bank.rb +104 -19
  19. data/lib/faker/default/barcode.rb +165 -0
  20. data/lib/faker/default/beer.rb +3 -3
  21. data/lib/faker/default/blood.rb +48 -0
  22. data/lib/faker/default/boolean.rb +1 -4
  23. data/lib/faker/default/business.rb +1 -1
  24. data/lib/faker/default/camera.rb +46 -0
  25. data/lib/faker/default/cannabis.rb +10 -0
  26. data/lib/faker/default/chile_rut.rb +54 -16
  27. data/lib/faker/default/chuck_norris.rb +1 -0
  28. data/lib/faker/default/code.rb +106 -38
  29. data/lib/faker/default/color.rb +77 -6
  30. data/lib/faker/default/commerce.rb +105 -28
  31. data/lib/faker/default/company.rb +116 -28
  32. data/lib/faker/default/compass.rb +135 -0
  33. data/lib/faker/default/computer.rb +63 -0
  34. data/lib/faker/default/construction.rb +54 -0
  35. data/lib/faker/default/cosmere.rb +90 -0
  36. data/lib/faker/default/crypto.rb +17 -4
  37. data/lib/faker/default/crypto_coin.rb +48 -15
  38. data/lib/faker/default/date.rb +21 -50
  39. data/lib/faker/default/demographic.rb +1 -5
  40. data/lib/faker/default/driving_licence.rb +66 -10
  41. data/lib/faker/default/drone.rb +332 -0
  42. data/lib/faker/default/educator.rb +13 -0
  43. data/lib/faker/default/emotion.rb +33 -0
  44. data/lib/faker/default/file.rb +53 -21
  45. data/lib/faker/default/finance.rb +75 -7
  46. data/lib/faker/default/food.rb +28 -2
  47. data/lib/faker/default/gender.rb +1 -1
  48. data/lib/faker/default/hipster.rb +106 -48
  49. data/lib/faker/default/hobby.rb +22 -0
  50. data/lib/faker/default/id_number.rb +230 -13
  51. data/lib/faker/default/internet.rb +390 -108
  52. data/lib/faker/default/internet_http.rb +48 -0
  53. data/lib/faker/default/invoice.rb +37 -23
  54. data/lib/faker/default/json.rb +61 -23
  55. data/lib/faker/default/lorem.rb +171 -72
  56. data/lib/faker/default/lorem_flickr.rb +69 -37
  57. data/lib/faker/default/markdown.rb +97 -11
  58. data/lib/faker/default/marketing.rb +1 -1
  59. data/lib/faker/default/measurement.rb +101 -42
  60. data/lib/faker/default/military.rb +26 -0
  61. data/lib/faker/default/mountain.rb +33 -0
  62. data/lib/faker/default/name.rb +99 -5
  63. data/lib/faker/default/nation.rb +0 -3
  64. data/lib/faker/default/nhs.rb +21 -6
  65. data/lib/faker/default/number.rb +38 -68
  66. data/lib/faker/default/omniauth.rb +111 -53
  67. data/lib/faker/default/phone_number.rb +89 -10
  68. data/lib/faker/default/placeholdit.rb +23 -12
  69. data/lib/faker/default/relationship.rb +2 -6
  70. data/lib/faker/default/religion.rb +6 -0
  71. data/lib/faker/default/science.rb +108 -0
  72. data/lib/faker/default/slack_emoji.rb +81 -0
  73. data/lib/faker/default/source.rb +3 -16
  74. data/lib/faker/default/south_africa.rb +90 -0
  75. data/lib/faker/default/space.rb +1 -1
  76. data/lib/faker/default/string.rb +18 -8
  77. data/lib/faker/default/stripe.rb +68 -23
  78. data/lib/faker/default/tea.rb +41 -0
  79. data/lib/faker/default/time.rb +4 -34
  80. data/lib/faker/default/twitter.rb +42 -23
  81. data/lib/faker/default/types.rb +88 -29
  82. data/lib/faker/default/university.rb +45 -0
  83. data/lib/faker/default/vehicle.rb +212 -54
  84. data/lib/faker/default/verb.rb +45 -0
  85. data/lib/faker/default/vulnerability_identifier.rb +23 -0
  86. data/lib/faker/default/world_cup.rb +6 -15
  87. data/lib/faker/fantasy/tolkien.rb +67 -0
  88. data/lib/faker/games/clash_of_clans.rb +48 -0
  89. data/lib/faker/games/control.rb +113 -0
  90. data/lib/faker/games/dnd.rb +178 -0
  91. data/lib/faker/games/dota.rb +14 -5
  92. data/lib/faker/games/elder_scrolls.rb +26 -0
  93. data/lib/faker/games/heroes.rb +13 -0
  94. data/lib/faker/games/heroes_of_the_storm.rb +16 -5
  95. data/lib/faker/games/minecraft.rb +113 -0
  96. data/lib/faker/games/myst.rb +1 -1
  97. data/lib/faker/games/street_fighter.rb +61 -0
  98. data/lib/faker/games/super_mario.rb +48 -0
  99. data/lib/faker/games/tarkov.rb +205 -0
  100. data/lib/faker/games/touhou.rb +75 -0
  101. data/lib/faker/games/warhammer_fantasy.rb +74 -0
  102. data/lib/faker/games/witcher.rb +39 -0
  103. data/lib/faker/games/world_of_warcraft.rb +26 -1
  104. data/lib/faker/japanese_media/conan.rb +48 -0
  105. data/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
  106. data/lib/faker/japanese_media/doraemon.rb +48 -0
  107. data/lib/faker/japanese_media/dragon_ball.rb +26 -0
  108. data/lib/faker/japanese_media/fullmetal_alchemist_brotherhood.rb +48 -0
  109. data/lib/faker/japanese_media/kamen_rider.rb +102 -0
  110. data/lib/faker/japanese_media/naruto.rb +61 -0
  111. data/lib/faker/japanese_media/one_piece.rb +1 -1
  112. data/lib/faker/japanese_media/studio_ghibli.rb +48 -0
  113. data/lib/faker/locations/australia.rb +47 -0
  114. data/lib/faker/movies/avatar.rb +49 -0
  115. data/lib/faker/movies/departed.rb +49 -0
  116. data/lib/faker/movies/hackers.rb +48 -0
  117. data/lib/faker/movies/hobbit.rb +4 -4
  118. data/lib/faker/movies/how_to_train_your_dragon.rb +48 -0
  119. data/lib/faker/movies/lord_of_the_rings.rb +3 -3
  120. data/lib/faker/movies/movie.rb +13 -0
  121. data/lib/faker/movies/room.rb +63 -0
  122. data/lib/faker/movies/star_wars.rb +75 -7
  123. data/lib/faker/movies/tron.rb +161 -0
  124. data/lib/faker/music/hiphop.rb +48 -0
  125. data/lib/faker/music/music.rb +12 -0
  126. data/lib/faker/music/opera.rb +237 -1
  127. data/lib/faker/music/pearl_jam.rb +50 -0
  128. data/lib/faker/music/phish.rb +27 -1
  129. data/lib/faker/music/prince.rb +64 -0
  130. data/lib/faker/music/rock_band.rb +12 -0
  131. data/lib/faker/music/rush.rb +37 -0
  132. data/lib/faker/music/show.rb +49 -0
  133. data/lib/faker/quotes/quote.rb +93 -1
  134. data/lib/faker/quotes/rajnikanth.rb +1 -0
  135. data/lib/faker/quotes/shakespeare.rb +70 -0
  136. data/lib/faker/religion/bible.rb +50 -0
  137. data/lib/faker/sports/chess.rb +90 -0
  138. data/lib/faker/sports/mountaineering.rb +22 -0
  139. data/lib/faker/sports/sport.rb +116 -0
  140. data/lib/faker/sports/volleyball.rb +74 -0
  141. data/lib/faker/travel/airport.rb +43 -0
  142. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +13 -0
  143. data/lib/faker/tv_shows/big_bang_theory.rb +37 -0
  144. data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
  145. data/lib/faker/tv_shows/buffy.rb +17 -4
  146. data/lib/faker/tv_shows/dr_who.rb +1 -1
  147. data/lib/faker/tv_shows/final_space.rb +51 -0
  148. data/lib/faker/tv_shows/futurama.rb +65 -0
  149. data/lib/faker/tv_shows/michael_scott.rb +0 -3
  150. data/lib/faker/tv_shows/simpsons.rb +14 -0
  151. data/lib/faker/tv_shows/spongebob.rb +50 -0
  152. data/lib/faker/tv_shows/suits.rb +37 -0
  153. data/lib/faker/tv_shows/supernatural.rb +48 -0
  154. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +17 -4
  155. data/lib/faker/tv_shows/the_office.rb +37 -0
  156. data/lib/faker/version.rb +2 -2
  157. data/lib/faker.rb +40 -84
  158. data/lib/helpers/base58.rb +1 -1
  159. data/lib/helpers/char.rb +22 -27
  160. data/lib/helpers/unique_generator.rb +13 -13
  161. data/lib/locales/ar.yml +6 -1
  162. data/lib/locales/bg.yml +1 -1
  163. data/lib/locales/da-DK.yml +1 -1
  164. data/lib/locales/de-AT.yml +7 -6
  165. data/lib/locales/de-CH.yml +1697 -2
  166. data/lib/locales/de.yml +12 -6
  167. data/lib/locales/en/address.yml +4 -3
  168. data/lib/locales/en/adjective.yml +179 -0
  169. data/lib/locales/en/airport.yml +381 -0
  170. data/lib/locales/en/animal.yml +1 -1
  171. data/lib/locales/en/aqua_teen_hunger_force.yml +33 -1
  172. data/lib/locales/en/australia.yml +107 -0
  173. data/lib/locales/en/avatar.yml +31 -0
  174. data/lib/locales/en/bank.yml +1 -1
  175. data/lib/locales/en/barcode.yml +24 -0
  176. data/lib/locales/en/bible.yml +90 -0
  177. data/lib/locales/en/big_bang_theory.yml +38 -0
  178. data/lib/locales/en/bird.yml +1281 -0
  179. data/lib/locales/en/blood.yml +13 -0
  180. data/lib/locales/en/book.yml +487 -3
  181. data/lib/locales/en/brooklyn_nine_nine.yml +35 -0
  182. data/lib/locales/en/buffy.yml +1 -1
  183. data/lib/locales/en/camera.yml +611 -0
  184. data/lib/locales/en/cat.yml +1 -1
  185. data/lib/locales/en/chess.yml +103 -0
  186. data/lib/locales/en/clash_of_clan.yml +101 -0
  187. data/lib/locales/en/coffee.yml +1 -1
  188. data/lib/locales/en/commerce.yml +17 -0
  189. data/lib/locales/en/community.yml +17 -17
  190. data/lib/locales/en/company.yml +3 -2
  191. data/lib/locales/en/computer.yml +55 -0
  192. data/lib/locales/en/conan.yml +171 -0
  193. data/lib/locales/en/control.yml +247 -0
  194. data/lib/locales/en/cowboy_bebop.yml +163 -0
  195. data/lib/locales/en/demographic.yml +218 -5
  196. data/lib/locales/en/departed.yml +50 -0
  197. data/lib/locales/en/device.yml +112 -4
  198. data/lib/locales/en/dnd.yml +636 -0
  199. data/lib/locales/en/doraemon.yml +286 -0
  200. data/lib/locales/en/dota.yml +651 -63
  201. data/lib/locales/en/dragon_ball.yml +243 -1
  202. data/lib/locales/en/driving_license.yml +181 -0
  203. data/lib/locales/en/drone.yml +95 -0
  204. data/lib/locales/en/dune.yml +270 -131
  205. data/lib/locales/en/educator.yml +6 -0
  206. data/lib/locales/en/elder_scrolls.yml +583 -9
  207. data/lib/locales/en/emotion.yml +480 -0
  208. data/lib/locales/en/fallout.yml +311 -133
  209. data/lib/locales/en/file.yml +9 -1
  210. data/lib/locales/en/final_space.yml +37 -0
  211. data/lib/locales/en/finance.yml +77 -1
  212. data/lib/locales/en/fma_brotherhood.yml +78 -0
  213. data/lib/locales/en/food.yml +1066 -10
  214. data/lib/locales/en/football.yml +3 -3
  215. data/lib/locales/en/fresh_prince_of_bel_air.yml +1 -1
  216. data/lib/locales/en/futurama.yml +344 -0
  217. data/lib/locales/en/game.yml +11 -0
  218. data/lib/locales/en/hackers.yml +53 -0
  219. data/lib/locales/en/half_life.yml +84 -3
  220. data/lib/locales/en/heroes.yml +408 -3
  221. data/lib/locales/en/heroes_of_the_storm.yml +131 -4
  222. data/lib/locales/en/hobby.yml +171 -0
  223. data/lib/locales/en/horse.yml +2 -2
  224. data/lib/locales/en/house.yml +1 -1
  225. data/lib/locales/en/how_to_train_your_dragon.yml +174 -0
  226. data/lib/locales/en/internet.yml +140 -3
  227. data/lib/locales/en/jack_handey.yml +54 -0
  228. data/lib/locales/en/kamen_rider.yml +452 -0
  229. data/lib/locales/en/kpop.yml +7 -7
  230. data/lib/locales/en/league_of_legends.yml +285 -6
  231. data/lib/locales/en/lebowski.yml +1 -1
  232. data/lib/locales/en/lovecraft.yml +76 -6
  233. data/lib/locales/en/military.yml +179 -5
  234. data/lib/locales/en/minecraft.yml +663 -0
  235. data/lib/locales/en/mitch_hedberg.yml +46 -0
  236. data/lib/locales/en/mountain.yml +171 -0
  237. data/lib/locales/en/mountaineering.yml +14 -0
  238. data/lib/locales/en/movie.yml +194 -2
  239. data/lib/locales/en/music.yml +461 -29
  240. data/lib/locales/en/myst.yml +87 -31
  241. data/lib/locales/en/name.yml +5 -4
  242. data/lib/locales/en/naruto.yml +230 -0
  243. data/lib/locales/en/one_piece.yml +2 -2
  244. data/lib/locales/en/opera.yml +169 -1
  245. data/lib/locales/en/overwatch.yml +2648 -2622
  246. data/lib/locales/en/pearl_jam.yml +213 -0
  247. data/lib/locales/en/phish.yml +392 -1
  248. data/lib/locales/en/pokemon.yml +417 -4
  249. data/lib/locales/en/prince.yml +227 -0
  250. data/lib/locales/en/quote.yml +692 -163
  251. data/lib/locales/en/rock_band.yml +1 -0
  252. data/lib/locales/en/room.yml +68 -0
  253. data/lib/locales/en/rush.yml +32 -0
  254. data/lib/locales/en/science.yml +481 -3
  255. data/lib/locales/en/shakespeare.yml +21 -24
  256. data/lib/locales/en/show.yml +597 -0
  257. data/lib/locales/en/simpsons.yml +668 -0
  258. data/lib/locales/en/source.yml +35 -0
  259. data/lib/locales/en/space.yml +1 -1
  260. data/lib/locales/en/spongebob.yml +489 -0
  261. data/lib/locales/en/sport.yml +130 -0
  262. data/lib/locales/en/star_trek.yml +1 -1
  263. data/lib/locales/en/star_wars.yml +568 -220
  264. data/lib/locales/en/stranger_thing.yml +1 -1
  265. data/lib/locales/en/street_fighter.yml +1524 -0
  266. data/lib/locales/en/studio_ghibli.yml +107 -0
  267. data/lib/locales/en/suits.yml +45 -0
  268. data/lib/locales/en/super_mario.yml +58 -0
  269. data/lib/locales/en/super_smash_bros.yml +23 -6
  270. data/lib/locales/en/supernatural.yml +141 -0
  271. data/lib/locales/en/tarkov.yml +593 -0
  272. data/lib/locales/en/tea.yml +172 -0
  273. data/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
  274. data/lib/locales/en/the_office.yml +86 -0
  275. data/lib/locales/en/tolkien.yml +2453 -0
  276. data/lib/locales/en/touhou.yml +839 -0
  277. data/lib/locales/en/tron.yml +227 -0
  278. data/lib/locales/en/vehicle.yml +2809 -75
  279. data/lib/locales/en/volleyball.yml +501 -0
  280. data/lib/locales/en/warhammer_fantasy.yml +582 -0
  281. data/lib/locales/en/witcher.yml +426 -7
  282. data/lib/locales/en/world_of_warcraft.yml +122 -4
  283. data/lib/locales/en/zelda.yml +962 -4
  284. data/lib/locales/en-AU.yml +50 -10
  285. data/lib/locales/en-CA.yml +4 -1
  286. data/lib/locales/en-GB.yml +3 -2
  287. data/lib/locales/en-IND.yml +2 -1
  288. data/lib/locales/en-MS.yml +3 -1
  289. data/lib/locales/en-NEP.yml +4 -1
  290. data/lib/locales/en-NG.yml +1 -0
  291. data/lib/locales/en-NZ.yml +4 -1
  292. data/lib/locales/en-PAK.yml +3 -1
  293. data/lib/locales/en-SG.yml +3 -1
  294. data/lib/locales/en-UG.yml +1 -0
  295. data/lib/locales/en-US.yml +38 -12
  296. data/lib/locales/en-ZA.yml +1 -1
  297. data/lib/locales/en-au-ocker.yml +4 -1
  298. data/lib/locales/en.yml +0 -3
  299. data/lib/locales/es-AR.yml +4601 -0
  300. data/lib/locales/es-MX.yml +1 -1
  301. data/lib/locales/es.yml +58 -2
  302. data/lib/locales/fi-FI.yml +4 -2
  303. data/lib/locales/fr/address.yml +20 -0
  304. data/lib/locales/fr/adjective.yml +266 -0
  305. data/lib/locales/fr/ancient.yml +141 -0
  306. data/lib/locales/fr/animal.yml +5 -0
  307. data/lib/locales/fr/appliance.yml +4 -0
  308. data/lib/locales/fr/book.yml +7 -0
  309. data/lib/locales/fr/color.yml +4 -0
  310. data/lib/locales/fr/company.yml +17 -0
  311. data/lib/locales/fr/compass.yml +23 -0
  312. data/lib/locales/fr/demographic.yml +4 -0
  313. data/lib/locales/fr/gender.yml +6 -0
  314. data/lib/locales/fr/internet.yml +5 -0
  315. data/lib/locales/fr/lorem.yml +5 -0
  316. data/lib/locales/fr/measurement.yml +7 -0
  317. data/lib/locales/fr/name.yml +21 -0
  318. data/lib/locales/fr/phone_number.yml +7 -0
  319. data/lib/locales/fr/pokemon.yml +7 -0
  320. data/lib/locales/fr-CA.yml +22 -6
  321. data/lib/locales/fr-CH.yml +3 -3
  322. data/lib/locales/fr.yml +1 -113
  323. data/lib/locales/hy.yml +2 -1
  324. data/lib/locales/id.yml +3 -1
  325. data/lib/locales/it.yml +3 -1
  326. data/lib/locales/ja/README.md +13 -0
  327. data/lib/locales/ja/address.yml +120539 -0
  328. data/lib/locales/ja/adjective.yml +148 -0
  329. data/lib/locales/ja/ancient.yml +4 -0
  330. data/lib/locales/ja/animal.yml +5 -0
  331. data/lib/locales/ja/bank.yml +4 -0
  332. data/lib/locales/ja/book.yml +7 -0
  333. data/lib/locales/ja/cat.yml +5 -0
  334. data/lib/locales/ja/coffee.yml +4 -0
  335. data/lib/locales/ja/color.yml +4 -0
  336. data/lib/locales/ja/commerce.yml +11 -0
  337. data/lib/locales/ja/company.yml +8 -0
  338. data/lib/locales/ja/dog.yml +6 -0
  339. data/lib/locales/ja/emotion.yml +51 -0
  340. data/lib/locales/ja/food.yml +4 -0
  341. data/lib/locales/ja/gender.yml +4 -0
  342. data/lib/locales/ja/lorem.yml +9 -0
  343. data/lib/locales/ja/name.yml +13 -0
  344. data/lib/locales/ja/naruto.yml +230 -0
  345. data/lib/locales/ja/overwatch.yml +5 -0
  346. data/lib/locales/ja/phone_number.yml +7 -0
  347. data/lib/locales/ja/pokemon.yml +7 -0
  348. data/lib/locales/ja/relationship.yml +10 -0
  349. data/lib/locales/ja/restaurant.yml +11 -0
  350. data/lib/locales/ja/space.yml +5 -0
  351. data/lib/locales/ja/studio_ghibli.yml +112 -0
  352. data/lib/locales/ja/subscription.yml +8 -0
  353. data/lib/locales/ja/super_mario.yml +9 -0
  354. data/lib/locales/ja/super_smash_bros.yml +8 -0
  355. data/lib/locales/ja/university.yml +9 -0
  356. data/lib/locales/ja/zelda.yml +5 -0
  357. data/lib/locales/ko.yml +95 -2
  358. data/lib/locales/lt.yml +34 -0
  359. data/lib/locales/lv.yml +1 -1
  360. data/lib/locales/mi-NZ.yml +283 -0
  361. data/lib/locales/nb-NO.yml +5 -2
  362. data/lib/locales/nl.yml +1 -0
  363. data/lib/locales/pl.yml +2 -2
  364. data/lib/locales/pt-BR.yml +10 -2
  365. data/lib/locales/pt.yml +4 -2
  366. data/lib/locales/ru.yml +43 -1
  367. data/lib/locales/sk.yml +5 -2
  368. data/lib/locales/sv.yml +1 -0
  369. data/lib/locales/th.yml +76 -76
  370. data/lib/locales/tr.yml +1 -0
  371. data/lib/locales/uk.yml +3 -0
  372. data/lib/locales/vi.yml +1 -0
  373. data/lib/locales/zh-CN.yml +1 -0
  374. data/lib/locales/zh-TW.yml +1 -0
  375. metadata +219 -29
  376. data/lib/faker/default/fillmurray.rb +0 -45
  377. data/lib/faker/default/lorem_pixel.rb +0 -47
  378. data/lib/locales/en/hobbit.yml +0 -19
  379. data/lib/locales/en/lord_of_the_rings.yml +0 -6
  380. data/lib/locales/ja.yml +0 -101
data/lib/faker.rb CHANGED
@@ -2,37 +2,35 @@
2
2
 
3
3
  mydir = __dir__
4
4
 
5
- begin
6
- require 'psych'
7
- end
8
-
5
+ require 'psych'
9
6
  require 'i18n'
10
- require 'set' # Fixes a bug in i18n 0.6.11
11
7
 
12
- Dir.glob(File.join(File.dirname(__FILE__), 'helpers', '*.rb')).sort.each { |file| require file }
8
+ Dir.glob(File.join(mydir, 'helpers', '*.rb')).sort.each { |file| require file }
13
9
 
14
10
  I18n.load_path += Dir[File.join(mydir, 'locales', '**/*.yml')]
15
- I18n.reload! if I18n.backend.initialized?
16
11
 
17
12
  module Faker
18
- class Config
19
- @locale = nil
20
- @random = nil
21
-
13
+ module Config
22
14
  class << self
23
- attr_writer :locale
24
- attr_writer :random
15
+ def locale=(new_locale)
16
+ Thread.current[:faker_config_locale] = new_locale
17
+ end
25
18
 
26
19
  def locale
27
- @locale || I18n.locale
20
+ # Because I18n.locale defaults to :en, if we don't have :en in our available_locales, errors will happen
21
+ Thread.current[:faker_config_locale] || (I18n.available_locales.include?(I18n.locale) ? I18n.locale : I18n.available_locales.first)
28
22
  end
29
23
 
30
24
  def own_locale
31
- @locale
25
+ Thread.current[:faker_config_locale]
26
+ end
27
+
28
+ def random=(new_random)
29
+ Thread.current[:faker_config_random] = new_random
32
30
  end
33
31
 
34
32
  def random
35
- @random || Random::DEFAULT
33
+ Thread.current[:faker_config_random] || Random
36
34
  end
37
35
  end
38
36
  end
@@ -44,6 +42,8 @@ module Faker
44
42
  Letters = ULetters + LLetters
45
43
 
46
44
  class << self
45
+ attr_reader :flexible_key
46
+
47
47
  NOT_GIVEN = Object.new
48
48
 
49
49
  ## by default numerify results do not start with a zero
@@ -83,14 +83,14 @@ module Faker
83
83
  def regexify(reg)
84
84
  reg = reg.source if reg.respond_to?(:source) # Handle either a Regexp or a String that looks like a Regexp
85
85
  reg
86
- .gsub(%r{^\/?\^?}, '').gsub(%r{\$?\/?$}, '') # Ditch the anchors
86
+ .gsub(%r{^/?\^?}, '').gsub(%r{\$?/?$}, '') # Ditch the anchors
87
87
  .gsub(/\{(\d+)\}/, '{\1,\1}').gsub(/\?/, '{0,1}') # All {2} become {2,2} and ? become {0,1}
88
88
  .gsub(/(\[[^\]]+\])\{(\d+),(\d+)\}/) { |_match| Regexp.last_match(1) * sample(Array(Range.new(Regexp.last_match(2).to_i, Regexp.last_match(3).to_i))) } # [12]{1,2} becomes [12] or [12][12]
89
- .gsub(/(\([^\)]+\))\{(\d+),(\d+)\}/) { |_match| Regexp.last_match(1) * sample(Array(Range.new(Regexp.last_match(2).to_i, Regexp.last_match(3).to_i))) } # (12|34){1,2} becomes (12|34) or (12|34)(12|34)
89
+ .gsub(/(\([^)]+\))\{(\d+),(\d+)\}/) { |_match| Regexp.last_match(1) * sample(Array(Range.new(Regexp.last_match(2).to_i, Regexp.last_match(3).to_i))) } # (12|34){1,2} becomes (12|34) or (12|34)(12|34)
90
90
  .gsub(/(\\?.)\{(\d+),(\d+)\}/) { |_match| Regexp.last_match(1) * sample(Array(Range.new(Regexp.last_match(2).to_i, Regexp.last_match(3).to_i))) } # A{1,2} becomes A or AA or \d{3} becomes \d\d\d
91
- .gsub(/\((.*?)\)/) { |match| sample(match.gsub(/[\(\)]/, '').split('|')) } # (this|that) becomes 'this' or 'that'
92
- .gsub(/\[([^\]]+)\]/) { |match| match.gsub(/(\w\-\w)/) { |range| sample(Array(Range.new(*range.split('-')))) } } # All A-Z inside of [] become C (or X, or whatever)
93
- .gsub(/\[([^\]]+)\]/) { |_match| sample(Regexp.last_match(1).split('')) } # All [ABC] become B (or A or C)
91
+ .gsub(/\((.*?)\)/) { |match| sample(match.gsub(/[()]/, '').split('|')) } # (this|that) becomes 'this' or 'that'
92
+ .gsub(/\[([^\]]+)\]/) { |match| match.gsub(/(\w-\w)/) { |range| sample(Array(Range.new(*range.split('-')))) } } # All A-Z inside of [] become C (or X, or whatever)
93
+ .gsub(/\[([^\]]+)\]/) { |_match| sample(Regexp.last_match(1).chars) } # All [ABC] become B (or A or C)
94
94
  .gsub('\d') { |_match| sample(Numbers) }
95
95
  .gsub('\w') { |_match| sample(Letters) }
96
96
  end
@@ -99,7 +99,7 @@ module Faker
99
99
  # with an array of values and selecting one of them.
100
100
  def fetch(key)
101
101
  fetched = sample(translate("faker.#{key}"))
102
- if fetched&.match(%r{^\/}) && fetched&.match(%r{\/$}) # A regex
102
+ if fetched&.match(%r{^/}) && fetched&.match(%r{/$}) # A regex
103
103
  regexify(fetched)
104
104
  else
105
105
  fetched
@@ -111,7 +111,7 @@ module Faker
111
111
  def fetch_all(key)
112
112
  fetched = translate("faker.#{key}")
113
113
  fetched = fetched.last if fetched.size <= 1
114
- if !fetched.respond_to?(:sample) && fetched.match(%r{^\/}) && fetched.match(%r{\/$}) # A regex
114
+ if !fetched.respond_to?(:sample) && fetched.match(%r{^/}) && fetched.match(%r{/$}) # A regex
115
115
  regexify(fetched)
116
116
  else
117
117
  fetched
@@ -123,7 +123,7 @@ module Faker
123
123
  # formatted translation: e.g., "#{first_name} #{last_name}".
124
124
  def parse(key)
125
125
  fetched = fetch(key)
126
- parts = fetched.scan(/(\(?)#\{([A-Za-z]+\.)?([^\}]+)\}([^#]+)?/).map do |prefix, kls, meth, etc|
126
+ parts = fetched.scan(/(\(?)#\{([A-Za-z]+\.)?([^}]+)\}([^#]+)?/).map do |prefix, kls, meth, etc|
127
127
  # If the token had a class Prefix (e.g., Name.first_name)
128
128
  # grab the constant, otherwise use self
129
129
  cls = kls ? Faker.const_get(kls.chop) : self
@@ -132,7 +132,7 @@ module Faker
132
132
  # In either case the information will be retained for reconstruction of the string.
133
133
  text = prefix
134
134
 
135
- # If the class has the method, call it, otherwise fetch the transation
135
+ # If the class has the method, call it, otherwise fetch the translation
136
136
  # (e.g., faker.phone_number.area_code)
137
137
  text += if cls.respond_to?(meth)
138
138
  cls.send(meth)
@@ -167,12 +167,12 @@ module Faker
167
167
  end
168
168
 
169
169
  # Executes block with given locale set.
170
- def with_locale(tmp_locale = nil)
170
+ def with_locale(tmp_locale = nil, &block)
171
171
  current_locale = Faker::Config.own_locale
172
172
  Faker::Config.locale = tmp_locale
173
173
 
174
174
  disable_enforce_available_locales do
175
- I18n.with_locale(tmp_locale) { yield }
175
+ I18n.with_locale(tmp_locale, &block)
176
176
  end
177
177
  ensure
178
178
  Faker::Config.locale = current_locale
@@ -188,9 +188,9 @@ module Faker
188
188
  # girls_name: ["Alice", "Cheryl", "Tatiana"]
189
189
  # Then you can call Faker::Name.girls_name and it will act like #first_name
190
190
  def method_missing(mth, *args, &block)
191
- super unless @flexible_key
191
+ super unless flexible_key
192
192
 
193
- if (translation = translate("faker.#{@flexible_key}.#{mth}"))
193
+ if (translation = translate("faker.#{flexible_key}.#{mth}"))
194
194
  sample(translation)
195
195
  else
196
196
  super
@@ -225,8 +225,16 @@ module Faker
225
225
  @unique ||= UniqueGenerator.new(self, max_retries)
226
226
  end
227
227
 
228
- def sample(list)
229
- list.respond_to?(:sample) ? list.sample(random: Faker::Config.random) : list
228
+ def sample(list, num = nil)
229
+ if list.respond_to?(:sample)
230
+ if num
231
+ list.sample(num, random: Faker::Config.random)
232
+ else
233
+ list.sample(random: Faker::Config.random)
234
+ end
235
+ else
236
+ list
237
+ end
230
238
  end
231
239
 
232
240
  def shuffle(list)
@@ -250,61 +258,9 @@ module Faker
250
258
  ensure
251
259
  I18n.enforce_available_locales = old_enforce_available_locales
252
260
  end
253
-
254
- private
255
-
256
- def warn_for_deprecated_arguments
257
- keywords = []
258
- yield(keywords)
259
-
260
- return if keywords.empty?
261
-
262
- method_name = caller.first.match(/`(?<method_name>.*)'/)[:method_name]
263
-
264
- keywords.each.with_index(1) do |keyword, index|
265
- i = case index
266
- when 1 then '1st'
267
- when 2 then '2nd'
268
- when 3 then '3rd'
269
- else "#{index}th"
270
- end
271
-
272
- warn_with_uplevel(<<~MSG, uplevel: 5)
273
- Passing `#{keyword}` with the #{i} argument of `#{method_name}` is deprecated. Use keyword argument like `#{method_name}(#{keyword}: ...)` instead.
274
- MSG
275
- end
276
-
277
- warn(<<~MSG)
278
-
279
- To automatically update from positional arguments to keyword arguments,
280
- install rubocop-faker and run:
281
-
282
- rubocop \\
283
- --require rubocop-faker \\
284
- --only Faker/DeprecatedArguments \\
285
- --auto-correct
286
-
287
- MSG
288
- end
289
-
290
- # Workaround for emulating `warn '...', uplevel: 1` in Ruby 2.4 or lower.
291
- def warn_with_uplevel(message, uplevel: 1)
292
- at = parse_caller(caller[uplevel]).join(':')
293
- warn "#{at}: #{message}"
294
- end
295
-
296
- def parse_caller(at)
297
- # rubocop:disable Style/GuardClause
298
- if /^(.+?):(\d+)(?::in `.*')?/ =~ at
299
- file = Regexp.last_match(1)
300
- line = Regexp.last_match(2).to_i
301
- [file, line]
302
- end
303
- # rubocop:enable Style/GuardClause
304
- end
305
261
  end
306
262
  end
307
263
  end
308
264
 
309
265
  # require faker objects
310
- Dir.glob(File.join(File.dirname(__FILE__), 'faker', '/**/*.rb')).sort.each { |file| require file }
266
+ Dir.glob(File.join(mydir, 'faker', '/**/*.rb')).sort.each { |file| require file }
@@ -7,7 +7,7 @@ module Faker
7
7
  base = alphabet.size
8
8
 
9
9
  lv = 0
10
- str.split('').reverse.each_with_index { |v, i| lv += v.unpack('C')[0] * 256**i }
10
+ str.chars.reverse.each_with_index { |v, i| lv += v.unpack1('C') * 256**i }
11
11
 
12
12
  ret = +''
13
13
  while lv.positive?
data/lib/helpers/char.rb CHANGED
@@ -5,7 +5,7 @@ module Faker
5
5
  def self.prepare(string)
6
6
  result = romanize_cyrillic string
7
7
  result = fix_umlauts result
8
- result.gsub(/\W/, '').downcase
8
+ result.gsub(/[^\w-]/, '').downcase
9
9
  end
10
10
 
11
11
  def self.fix_umlauts(string)
@@ -15,6 +15,7 @@ module Faker
15
15
  when 'ö' then 'oe'
16
16
  when 'ü' then 'ue'
17
17
  when 'ß' then 'ss'
18
+ else match.downcase
18
19
  end
19
20
  end
20
21
  end
@@ -23,19 +24,16 @@ module Faker
23
24
  if Faker::Config.locale == 'uk'
24
25
  # Based on conventions abopted by BGN/PCGN for Ukrainian
25
26
  uk_chars = {
26
- 'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'h', 'ґ' => 'g', 'д' => 'd',
27
- 'е' => 'e', 'є' => 'ye', 'ж' => 'zh', 'з' => 'z', 'и' => 'y', 'і' => 'i',
28
- 'ї' => 'yi', 'й' => 'y', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n',
29
- 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u',
30
- 'ф' => 'f', 'х' => 'kh', 'ц' => 'ts', 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'shch',
31
- 'ю' => 'yu', 'я' => 'ya',
32
- 'А' => 'a', 'Б' => 'b', 'В' => 'v', 'Г' => 'h', 'Ґ' => 'g', 'Д' => 'd',
33
- 'Е' => 'e', 'Є' => 'ye', 'Ж' => 'zh', 'З' => 'z', 'И' => 'y', 'І' => 'i',
34
- 'Ї' => 'yi', 'Й' => 'y', 'К' => 'k', 'Л' => 'l', 'М' => 'm', 'Н' => 'n',
35
- 'О' => 'o', 'П' => 'p', 'Р' => 'r', 'С' => 's', 'Т' => 't', 'У' => 'u',
36
- 'Ф' => 'f', 'Х' => 'kh', 'Ц' => 'ts', 'Ч' => 'ch', 'Ш' => 'sh', 'Щ' => 'shch',
37
- 'Ю' => 'yu', 'Я' => 'ya',
38
- 'ь' => '' # Ignore symbol, because its standard presentation is not allowed in URLs
27
+ 'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'h', 'ґ' => 'g', 'д' => 'd', 'е' => 'e',
28
+ 'є' => 'ye', 'ж' => 'zh', 'з' => 'z', 'и' => 'y', 'і' => 'i', 'ї' => 'yi', 'й' => 'y',
29
+ 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r',
30
+ 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'kh', 'ц' => 'ts', 'ч' => 'ch',
31
+ 'ш' => 'sh', 'щ' => 'shch', 'ю' => 'yu', 'я' => 'ya', 'А' => 'a', 'Б' => 'b', 'В' => 'v',
32
+ 'Г' => 'h', 'Ґ' => 'g', 'Д' => 'd', 'Е' => 'e', 'Є' => 'ye', 'Ж' => 'zh', 'З' => 'z',
33
+ 'И' => 'y', 'І' => 'i', 'Ї' => 'yi', 'Й' => 'y', 'К' => 'k', 'Л' => 'l', 'М' => 'm',
34
+ 'Н' => 'n', 'О' => 'o', 'П' => 'p', 'Р' => 'r', 'С' => 's', 'Т' => 't', 'У' => 'u',
35
+ 'Ф' => 'f', 'Х' => 'kh', 'Ц' => 'ts', 'Ч' => 'ch', 'Ш' => 'sh', 'Щ' => 'shch', 'Ю' => 'yu',
36
+ 'Я' => 'ya', 'ь' => '' # Ignore symbol, because its standard presentation is not allowed in URLs
39
37
  }
40
38
  return string.gsub(/[а-яА-ЯіїєґІЇЄҐ]/, uk_chars)
41
39
  end
@@ -44,22 +42,19 @@ module Faker
44
42
  # Based on conventions abopted by BGN/PCGN for Russian
45
43
  ru_chars = {
46
44
  'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'h', 'д' => 'd', 'е' => 'e',
47
- 'ё' => 'ye', 'ж' => 'zh', 'з' => 'z', 'и' => 'i', 'й' => 'y', 'к' => 'k',
48
- 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r',
49
- 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'kh', 'ц' => 'ts',
50
- 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'shch', 'ы' => 'у', 'э' => 'e', 'ю' => 'yu',
51
- 'я' => 'ya',
52
- 'А' => 'a', 'Б' => 'b', 'В' => 'v', 'Г' => 'h', 'Д' => 'd', 'Е' => 'e',
53
- 'Ё' => 'ye', 'Ж' => 'zh', 'З' => 'z', 'И' => 'i', 'Й' => 'y', 'К' => 'k',
54
- 'Л' => 'l', 'М' => 'm', 'Н' => 'n', 'О' => 'o', 'П' => 'p', 'Р' => 'r',
55
- 'С' => 's', 'Т' => 't', 'У' => 'u', 'Ф' => 'f', 'Х' => 'kh', 'Ц' => 'ts',
56
- 'Ч' => 'ch', 'Ш' => 'sh', 'Щ' => 'shch', 'Ы' => 'у', 'Э' => 'e', 'Ю' => 'yu',
57
- 'Я' => 'ya',
58
- 'ь' => '', 'ъ' => '' # Ignore symbols, because its standard presentation is not allowed in URLs
45
+ 'ё' => 'ye', 'ж' => 'zh', 'з' => 'z', 'и' => 'i', 'й' => 'y', 'к' => 'k',
46
+ 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r',
47
+ 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'kh', 'ц' => 'ts',
48
+ 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'shch', 'ы' => 'у', 'э' => 'e', 'ю' => 'yu',
49
+ 'я' => 'ya', 'А' => 'a', 'Б' => 'b', 'В' => 'v', 'Г' => 'h', 'Д' => 'd',
50
+ 'Е' => 'e', 'Ё' => 'ye', 'Ж' => 'zh', 'З' => 'z', 'И' => 'i', 'Й' => 'y',
51
+ 'К' => 'k', 'Л' => 'l', 'М' => 'm', 'Н' => 'n', 'О' => 'o', 'П' => 'p', 'Р' => 'r',
52
+ 'С' => 's', 'Т' => 't', 'У' => 'u', 'Ф' => 'f', 'Х' => 'kh', 'Ц' => 'ts',
53
+ 'Ч' => 'ch', 'Ш' => 'sh', 'Щ' => 'shch', 'Ы' => 'у', 'Э' => 'e', 'Ю' => 'yu',
54
+ 'Я' => 'ya', 'ь' => '', 'ъ' => '' # Ignore symbols, because its standard presentation is not allowed in URLs
59
55
  }
60
56
  return string.gsub(/[а-яА-Я]/, ru_chars)
61
57
  end
62
-
63
58
  string
64
59
  end
65
60
  end
@@ -2,28 +2,20 @@
2
2
 
3
3
  module Faker
4
4
  class UniqueGenerator
5
- @marked_unique = Set.new # Holds names of generators with unique values
6
-
7
- class << self
8
- attr_reader :marked_unique
9
- end
10
-
11
5
  def initialize(generator, max_retries)
12
6
  @generator = generator
13
7
  @max_retries = max_retries
14
- @previous_results = Hash.new { |hash, key| hash[key] = Set.new }
15
8
  end
16
9
 
17
- # rubocop:disable Style/MethodMissingSuper
18
10
  def method_missing(name, *arguments)
19
11
  self.class.marked_unique.add(self)
20
12
 
21
13
  @max_retries.times do
22
14
  result = @generator.public_send(name, *arguments)
23
15
 
24
- next if @previous_results[[name, arguments]].include?(result)
16
+ next if previous_results[[name, arguments]].include?(result)
25
17
 
26
- @previous_results[[name, arguments]] << result
18
+ previous_results[[name, arguments]] << result
27
19
  return result
28
20
  end
29
21
 
@@ -33,7 +25,6 @@ module Faker
33
25
  # This is necessary because the syntax for passing arguments (`...`)
34
26
  # is invalid on versions before Ruby 2.7, so it can't be used.
35
27
  ruby2_keywords(:method_missing) if respond_to?(:ruby2_keywords, true)
36
- # rubocop:enable Style/MethodMissingSuper
37
28
 
38
29
  def respond_to_missing?(method_name, include_private = false)
39
30
  method_name.to_s.start_with?('faker_') || super
@@ -41,8 +32,17 @@ module Faker
41
32
 
42
33
  RetryLimitExceeded = Class.new(StandardError)
43
34
 
35
+ def previous_results
36
+ Thread.current[:faker_unique_generator_previous_results] ||= {}
37
+ Thread.current[:faker_unique_generator_previous_results][@generator] ||= Hash.new { |hash, key| hash[key] = Set.new }
38
+ end
39
+
44
40
  def clear
45
- @previous_results.clear
41
+ previous_results.clear
42
+ end
43
+
44
+ def self.marked_unique
45
+ Thread.current[:faker_unique_generator_marked_unique] ||= Set.new
46
46
  end
47
47
 
48
48
  def self.clear
@@ -53,7 +53,7 @@ module Faker
53
53
  def exclude(name, arguments, values)
54
54
  values ||= []
55
55
  values.each do |value|
56
- @previous_results[[name, arguments]] << value
56
+ previous_results[[name, arguments]] << value
57
57
  end
58
58
  end
59
59
  end
data/lib/locales/ar.yml CHANGED
@@ -25,6 +25,7 @@ ar:
25
25
  - "#{street_address}, #{city}"
26
26
  - "#{secondary_address} #{street_address}, #{city}"
27
27
  default_country: [المملكة العربية السعودية]
28
+ default_country_code: ["SA"]
28
29
  company:
29
30
  suffix: [شركة, وأبناؤه, المحدودة]
30
31
  buzzwords:
@@ -51,7 +52,11 @@ ar:
51
52
  - "#{University.prefix} #{Address.state} #{University.suffix}"
52
53
 
53
54
  name:
54
- first_name: [عمر, محمّد, أحمد, عبدالله, عبدالرحمن, عبدالرزّاق, عبدالصّمد, نوّاف , خالد, البراء, إسراء, فاطمة, مريم, سميّة, فوز, فوزية, خديجة, الخنساء, حنان, عبير, أنس, مالك, أبيّ, وائل, مشعل, وائل, أبو بكر, عمرو, عمّار, غدير, غادة, إيمان, نوف, خديجة, عائشة, عاتكة, شمس, دانة, ألهام, فهد, نايف, عبدالعزيز, عبدالمحسن, مهنّد, مصعب, حاتم, عبدالوهّاب, همّام, حمزة, خولة, خلود, ابتهال, أمة الله, صفية, خالدة, رابعة, بدوية, رؤية, سندس]
55
+ male_first_name: [حمزة, خالد, نوّاف, عبدالصّمد, عبدالرزّاق, عبدالرحمن, عبدالله, أحمد, محمّد, عمر, نايف, فهد, عمّار, عمرو, أبو بكر, وائل, وائل, مالك, عبدالوهّاب, حاتم, مصعب, مهنّد, عبدالمحسن, عبدالعزيز]
56
+ female_first_name: [عبير, حنان, الخنساء, خديجة, فوزية, فوز, سميّة, مريم, فاطمة, إسراء, ألهام, دانة, شمس, عائشة, خديجة, نوف, إيمان, غادة, غدير, سندس, رؤية, بدوية, رابعة, خالدة, صفية, ابتهال, خلود, خولة]
57
+ first_name:
58
+ - "#{female_first_name}"
59
+ - "#{male_first_name}"
55
60
  last_name: [الخالدي, العمريّ, القادريّ, التميمي, القحطاني, الأسمري, الأخضر, الزهراني, الغامدي, المالكيّ, مجدي, أبو ياسين, أبو خالد, إمام, نصريّ, الحكيم, الأمير, حسني, زكي, الجزايرلي, القلعاوي, الشريف, حلمي, الجريتلي, رشدي, شلبي, عيد, شاهين, المهندس, زايد, المهنّا, شوكت, سعيد, الصعيدي, فتحي, الصنعاني, العديني, بامحمّد, بامحفوظ, باسهل, العمودي, باصهيب, الدوعني, السقّاف, العطّاس, فاروق, خيّاط, كوسة, اللاحم, النابلسي, الغزاوي]
56
61
  prefix: [السيّد, السيّدة, الآنسة, الدكتور]
57
62
  name:
data/lib/locales/bg.yml CHANGED
@@ -15,7 +15,7 @@ bg:
15
15
  street_address:
16
16
  - "#{street_name}, #{building_number}"
17
17
  default_country: [България]
18
-
18
+ default_country_code: ["BG"]
19
19
  internet:
20
20
  free_email: [abv.bg, mail.bg, dir.bg, gmail.com, yahoo.com, hotmail.com]
21
21
  domain_suffix: [com, bg, info, бг, net, org]
@@ -4,7 +4,6 @@ da-DK:
4
4
  city_prefix: [Nord, Birke, Ny, Frederiks, Lille, Vær, Ring, Støv, Sven, Munke, Kerte, Horn, Aa, Bør, Otte, Had, Vi, Rud, Bro, Vide, Jyde, Lange]
5
5
  city_suffix: [by, hus, borg, holm, bjerg, lund, bro, bæk, løse, slev, rød, å, sør, skov, slet, værk, strup, købing, sted, sten, kro, toft, ring, vig, bo]
6
6
  country: [Rusland, Canada, Kina, USA, Brasilien, Australien, Indien, Argentina, Kasakhstan, Algeriet, Den Demokratiske Republik Congo, Danmark, Færøerne, Grønland, Saudi-Arabien, Mexico, Indonesien, Sudan, Libyen, Iran, Mongoliet, Peru, Chad, Niger, Angola, Mali, Sydafrika, Colombia, Etiopien, Bolivia, Mauretanien, Egypten, Tanzania, Nigeria, Venezuela, Namibia, Pakistan, Mocambique, Tyrkiet, Chile, Zambia, Marokko, Vestsahara, Burma, Afghanistan, Somalia, Den Centralafrikanske Republik, Sydsudan, Ukraine, Botswana, Madagaskar, Kenya, Frankrig, Fransk Guyana, Yemen, Thailand, Spanien, Turkmenistan, Cameroun, Papua Ny Guinea, Sverige, Usbekistan, Irak, Paraguay, Zimbabwe, Japan, Tyskland, Congo, Finland, Malaysia, Vietnam, Norge, Svalbard, Jan Mayen, Elfenbenskysten, Polen, Italien, Filippinerne, Ecuador, Burkina Faso, Nya Zealand, Gabon, Guinea, Storbritannien, Ghana, Rumænien, Laos, Uganda, Guyana, Oman, Hviderusland, Kirgisistan, Senegal, Syrien, Cambodja, Uruguay, Tunesien, Surinam, Nepal, Bangladesh, Tadsjikistan, Grækenland, Nicaragua, Eritrea, Nordkorea, Malawi, Benin, Honduras, Liberia, Bulgarien, Cuba, Guatemala, Island, Sydkorea, Ungarn, Portugal, Jordan, Serbien, Aserbajdsjan, Østrig, De Forenede Arabiske Emirater, Tjekkiet, Panama, Sierra Leone, Irland, Georgien, Sri Lanka, Litauen, Letland, Togo, Kroatien, Bosnien og Hercegovina, Costa Rica, Slovakiet, Den Dominikanske republik, Bhutan, Estland, Danmark, Færøerne, Grønland, Nederlænderne, Schweiz, Guinea-Bissau, Taiwan, Moldova, Belgien, Lesotho, Armenien, Albanien, Salomonøerne, Ækvatorialguinea, Burundi, Haiti, Rwanda, Makedonien, Djibouti, Belize, Israel, El Salvador, Slovenien, Fiji, Kuwait, Swaziland, Østtimor, Montenegro, Bahamas, Vanuatu, Qatar, Gambia, Jamaica, Kosovo, Libanon, Cypern, Brunei, Trinidad og Tobago, Kap Verde, Samoa, Luxembourg, Comorerne, Mauritius, São Tomé og Principe, Kiribati, Dominica, Tonga, Mikronesien, Singapore, Bahrain, Saint Lucia, Andorra, Palau, Seychellerne, Antigua og Barbuda, Barbados, Saint Vincent og Grenadinerne, Grenada, Malta, Maldiverne, Saint Kitts og Nevis, Marshalløerne, Liechtenstein, San Marino, Tuvalu, Nauru, Monaco, Vatikanstaten]
7
- country_code: ['DK']
8
7
  common_street_suffix: [vej, gade]
9
8
  street_prefix: [Vester, Øster, Nørre, Over, Under]
10
9
  street_root: [Lærke, Birke, Vinkel, Vibe, Mølle, Ring, Skole, Skov, Ny, Ege, Sol, Industri, Kirke, Park, Strand, Eng]
@@ -23,6 +22,7 @@ da-DK:
23
22
  street_address:
24
23
  - "#{street_name} #{building_number}"
25
24
  default_country: [Danmark]
25
+ default_country_code: ["DK"]
26
26
 
27
27
  company:
28
28
  suffix: ["A/S", "ApS", "I/S", "IVS", "Holding", "SMBA", "K/S", "SPW"]
@@ -2,7 +2,6 @@ de-AT:
2
2
  faker:
3
3
  address:
4
4
  country: [Ägypten, Äquatorialguinea, Äthiopien, Österreich, Afghanistan, Albanien, Algerien, Amerikanisch-Samoa, Amerikanische Jungferninseln, Andorra, Angola, Anguilla, Antarktis, Antigua und Barbuda, Argentinien, Armenien, Aruba, Aserbaidschan, Australien, Bahamas, Bahrain, Bangladesch, Barbados, Belarus, Belgien, Belize, Benin, die Bermudas, Bhutan, Bolivien, Bosnien und Herzegowina, Botsuana, Bouvetinsel, Brasilien, Britische Jungferninseln, Britisches Territorium im Indischen Ozean, Brunei Darussalam, Bulgarien, Burkina Faso, Burundi, Chile, China, Cookinseln, Costa Rica, Dänemark, Demokratische Republik Kongo, Demokratische Volksrepublik Korea, Deutschland, Dominica, Dominikanische Republik, Dschibuti, Ecuador, El Salvador, Eritrea, Estland, Färöer, Falklandinseln, Fidschi, Finnland, Frankreich, Französisch-Guayana, Französisch-Polynesien, Französische Gebiete im südlichen Indischen Ozean, Gabun, Gambia, Georgien, Ghana, Gibraltar, Grönland, Grenada, Griechenland, Guadeloupe, Guam, Guatemala, Guinea, Guinea-Bissau, Guyana, Haiti, Heard und McDonaldinseln, Honduras, Hongkong, Indien, Indonesien, Irak, Iran, Irland, Island, Israel, Italien, Jamaika, Japan, Jemen, Jordanien, Jugoslawien, Kaimaninseln, Kambodscha, Kamerun, Kanada, Kap Verde, Kasachstan, Katar, Kenia, Kirgisistan, Kiribati, Kleinere amerikanische Überseeinseln, Kokosinseln, Kolumbien, Komoren, Kongo, Kroatien, Kuba, Kuwait, Laos, Lesotho, Lettland, Libanon, Liberia, Libyen, Liechtenstein, Litauen, Luxemburg, Macau, Madagaskar, Malawi, Malaysia, Malediven, Mali, Malta, ehemalige jugoslawische Republik Mazedonien, Marokko, Marshallinseln, Martinique, Mauretanien, Mauritius, Mayotte, Mexiko, Mikronesien, Monaco, Mongolei, Montserrat, Mosambik, Myanmar, Nördliche Marianen, Namibia, Nauru, Nepal, Neukaledonien, Neuseeland, Nicaragua, Niederländische Antillen, Niederlande, Niger, Nigeria, Niue, Norfolkinsel, Norwegen, Oman, Osttimor, Pakistan, Palau, Panama, Papua-Neuguinea, Paraguay, Peru, Philippinen, Pitcairninseln, Polen, Portugal, Puerto Rico, Réunion, Republik Korea, Republik Moldau, Ruanda, Rumänien, Russische Föderation, São Tomé und Príncipe, Südafrika, Südgeorgien und Südliche Sandwichinseln, Salomonen, Sambia, Samoa, San Marino, Saudi-Arabien, Schweden, Schweiz, Senegal, Seychellen, Sierra Leone, Simbabwe, Singapur, Slowakei, Slowenien, Somalien, Spanien, Sri Lanka, St. Helena, St. Kitts und Nevis, St. Lucia, St. Pierre und Miquelon, St. Vincent und die Grenadinen, Sudan, Surinam, Svalbard und Jan Mayen, Swasiland, Syrien, Türkei, Tadschikistan, Taiwan, Tansania, Thailand, Togo, Tokelau, Tonga, Trinidad und Tobago, Tschad, Tschechische Republik, Tunesien, Turkmenistan, Turks- und Caicosinseln, Tuvalu, Uganda, Ukraine, Ungarn, Uruguay, Usbekistan, Vanuatu, Vatikanstadt, Venezuela, Vereinigte Arabische Emirate, Vereinigte Staaten, Vereinigtes Königreich, Vietnam, Wallis und Futuna, Weihnachtsinsel, Westsahara, Zentralafrikanische Republik, Zypern]
5
- country_code: ['AT']
6
5
  street_root: [Ahorn, Ahorngasse (St. Andrä), Alleestraße (Poysbrunn), Alpenlandstraße, Alte Poststraße, Alte Ufergasse, Am Kronawett (Hagenbrunn), Am Mühlwasser, Am Rebenhang, Am Sternweg, Anton Wildgans-Straße, Auer-von-Welsbach-Weg, Auf der Stift, Aufeldgasse, Bahngasse, Bahnhofstraße, Bahnstraße (Gerhaus), Basteigasse, Berggasse, Bergstraße, Birkenweg, Blasiussteig, Blattur, Bruderhofgasse, Brunnelligasse, Bühelweg, Darnautgasse, Donaugasse, Dorfplatz (Haselbach), Dr.-Oberreiter-Straße, Dr.Karl Holoubek-Str., Drautal Bundesstraße, Dürnrohrer Straße, Ebenthalerstraße, Eckgrabenweg, Erlenstraße, Erlenweg, Eschenweg, Etrichgasse, Fassergasse, Feichteggerwiese, Feld-Weg, Feldgasse, Feldstapfe, Fischpointweg, Flachbergstraße, Flurweg, Franz Schubert-Gasse, Franz-Schneeweiß-Weg, Franz-von-Assisi-Straße, Fritz-Pregl-Straße, Fuchsgrubenweg, Födlerweg, Föhrenweg, Fünfhaus (Paasdorf), Gabelsbergerstraße, Gartenstraße, Geigen, Geigergasse, Gemeindeaugasse, Gemeindeplatz, Georg-Aichinger-Straße, Glanfeldbachweg, Graben (Burgauberg), Grub, Gröretgasse, Grünbach, Gösting, Hainschwang, Hans-Mauracher-Straße, Hart, Teichstraße, Hauptplatz, Hauptstraße, Heideweg, Heinrich Landauer Gasse, Helenengasse, Hermann von Gilmweg, Hermann-Löns-Gasse, Herminengasse, Hernstorferstraße, Hirsdorf, Hochfeistritz, Hochhaus Neue Donau, Hof, Hussovits Gasse, Höggen, Hütten, Janzgasse, Jochriemgutstraße, Johann-Strauß-Gasse, Julius-Raab-Straße, Kahlenberger Straße, Karl Kraft-Straße, Kegelprielstraße, Keltenberg-Eponaweg, Kennedybrücke, Kerpelystraße, Kindergartenstraße, Kinderheimgasse, Kirchenplatz, Kirchweg, Klagenfurter Straße, Klamm, Kleinbaumgarten, Klingergasse, Koloniestraße, Konrad-Duden-Gasse, Krankenhausstraße, Kubinstraße, Köhldorfergasse, Lackenweg, Lange Mekotte, Leifling, Leopold Frank-Straße (Pellendorf), Lerchengasse (Pirka), Lichtensternsiedlung V, Lindenhofstraße, Lindenweg, Luegstraße, Maierhof, Malerweg, Mitterweg, Mittlere Hauptstraße, Moosbachgasse, Morettigasse, Musikpavillon Riezlern, Mühlboden, Mühle, Mühlenweg, Neustiftgasse, Niederegg, Niedergams, Nordwestbahnbrücke, Oberbödenalm, Obere Berggasse, Oedt, Am Färberberg, Ottogasse, Paul Peters-Gasse, Perspektivstraße, Poppichl, Privatweg, Prixgasse, Pyhra, Radetzkystraße, Raiden, Reichensteinstraße, Reitbauernstraße, Reiterweg, Reitschulgasse, Ringweg, Rupertistraße, Römerstraße, Römerweg, Sackgasse, Schaunbergerstraße, Schloßweg, Schulgasse (Langeck), Schönholdsiedlung, Seeblick, Seestraße, Semriacherstraße, Simling, Sipbachzeller Straße, Sonnenweg, Spargelfeldgasse, Spiesmayrweg, Sportplatzstraße, St.Ulrich, Steilmannstraße, Steingrüneredt, Strassfeld, Straßerau, Stöpflweg, Stüra, Taferngasse, Tennweg, Thomas Koschat-Gasse, Tiroler Straße, Torrogasse, Uferstraße (Schwarzau am Steinfeld), Unterdörfl, Unterer Sonnrainweg, Verwaltersiedlung, Waldhang, Wasen, Weidenstraße, Weiherweg, Wettsteingasse, Wiener Straße, Windisch, Zebragasse, Zellerstraße, Ziehrerstraße, Zulechnerweg, Zwergjoch, Ötzbruck]
7
6
  building_number: ['###', '##', '#', '##a', '##b', '##c']
8
7
  secondary_address: ['Apt. ###', 'Zimmer ###', '# OG']
@@ -17,10 +16,10 @@ de-AT:
17
16
  street_address:
18
17
  - "#{street_name} #{building_number}"
19
18
  default_country: [Österreich]
20
-
19
+ default_country_code: ["AT"]
21
20
  company:
22
- suffix: [GmbH, AG, Gruppe, KG, GmbH & Co. KG, UG, OHG]
23
- legal_form: [GmbH, AG, Gruppe, KG, GmbH & Co. KG, UG, OHG]
21
+ suffix: [GmbH, AG, Gruppe, KG, GmbH & Co. KG, UG, OG]
22
+ legal_form: [GmbH, AG, Gruppe, KG, GmbH & Co. KG, UG, OG]
24
23
  name:
25
24
  - "#{Name.last_name} #{suffix}"
26
25
  - "#{Name.last_name}-#{Name.last_name}"
@@ -49,8 +48,10 @@ de-AT:
49
48
  - "#{first_name} #{last_name} #{last_name}"
50
49
  - "#{first_name} #{last_name} #{last_name}"
51
50
 
51
+ country_code: ['43']
52
+
52
53
  phone_number:
53
- formats: ['01 #######', '01#######', '+43-1-#######', '+431#######', '0#### ####', '0#########', '+43-####-####', '+43 ########']
54
+ formats: ['01 #######', '01#######', '1-#######', '1#######', '0#### ####', '0#########', '####-####', '########']
54
55
 
55
56
  cell_phone:
56
- formats: ['+43-6##-#######', '06##-########', '+436#########', '06##########']
57
+ formats: ['6##-#######', '06##-########', '6#########', '06##########']