faker 2.11.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Internet
5
+ class HTTP < Base
6
+ STATUS_CODES = {
7
+ information: [100, 101, 102, 103],
8
+ successful: [200, 201, 202, 203, 204, 205, 206, 207, 208, 226],
9
+ redirect: [300, 301, 302, 303, 304, 305, 306, 307, 308],
10
+ client_error: [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
11
+ 413, 414, 415, 416, 417, 418, 421, 422, 423, 424, 425, 426, 428,
12
+ 429, 431, 451],
13
+ server_error: [500, 501, 502, 503, 504, 505, 506, 507, 508, 510, 511]
14
+ }.freeze
15
+
16
+ STATUS_CODES_GROUPS = STATUS_CODES.keys.freeze
17
+
18
+ class << self
19
+ ##
20
+ # Produces an HTTP status code
21
+ #
22
+ # @return [Integer]
23
+ #
24
+ # @example
25
+ # Faker::Internet::HTTP.status_code #=> 418
26
+ # @example
27
+ # Faker::Internet::HTTP.status_code(group: :information) #=> 102
28
+ # @example
29
+ # Faker::Internet::HTTP.status_code(group: :successful) #=> 200
30
+ # @example
31
+ # Faker::Internet::HTTP.status_code(group: :redirect) #=> 306
32
+ # @example
33
+ # Faker::Internet::HTTP.status_code(group: :client_error) #=> 451
34
+ # @example
35
+ # Faker::Internet::HTTP.status_code(group: :server_error) #=> 502
36
+ #
37
+ # @faker.version 2.13.0
38
+ def status_code(group: nil)
39
+ return STATUS_CODES[STATUS_CODES_GROUPS.sample].sample unless group
40
+
41
+ raise ArgumentError, 'Invalid HTTP status code group' unless STATUS_CODES_GROUPS.include?(group)
42
+
43
+ STATUS_CODES[group].sample
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -5,35 +5,49 @@ module Faker
5
5
  flexible :invoice
6
6
 
7
7
  class << self
8
- # Generate random amount between values with 2 decimals
9
- def amount_between(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 0, to: 0)
10
- warn_for_deprecated_arguments do |keywords|
11
- keywords << :from if legacy_from != NOT_GIVEN
12
- keywords << :to if legacy_to != NOT_GIVEN
13
- end
14
-
8
+ ##
9
+ # Produces a random amount between values with 2 decimals
10
+ #
11
+ # @param from [Integer] Specifies lower limit.
12
+ # @param to [Integer] Specifies upper limit.
13
+ # @return [Integer]
14
+ #
15
+ # @example
16
+ # Faker::Finance.amount_between #=> 0
17
+ # Faker::Finance.amount_between(0, 10) #=> 4.33
18
+ #
19
+ # @faker.version 1.9.0
20
+ def amount_between(from: 0, to: 0)
15
21
  Faker::Base.rand_in_range(from, to).round(2)
16
22
  end
17
23
 
18
- # International bank slip reference https://en.wikipedia.org/wiki/Creditor_Reference
19
- # ref is optional so that we can create unit tests
20
- def creditor_reference(legacy_ref = NOT_GIVEN, ref: '')
21
- warn_for_deprecated_arguments do |keywords|
22
- keywords << :ref if legacy_ref != NOT_GIVEN
23
- end
24
-
24
+ ##
25
+ # Produces a random valid reference accoring to the International bank slip reference https://en.wikipedia.org/wiki/Creditor_Reference
26
+ #
27
+ # @param ref [String] Specifies reference base.
28
+ # @return [String]
29
+ #
30
+ # @example
31
+ # Faker::Invoice.creditor_reference #=> "RF34118592570724925498"
32
+ #
33
+ # @faker.version 1.9.0
34
+ def creditor_reference(ref: '')
25
35
  ref = reference if ref.empty?
26
36
 
27
- 'RF' + iban_checksum('RF', ref) + ref
37
+ "RF#{iban_checksum('RF', ref)}#{ref}"
28
38
  end
29
39
 
30
- # Payment references have some rules in certain countries
31
- # ref is optional so that we can create unit tests
32
- def reference(legacy_ref = NOT_GIVEN, ref: '')
33
- warn_for_deprecated_arguments do |keywords|
34
- keywords << :ref if legacy_ref != NOT_GIVEN
35
- end
36
-
40
+ ##
41
+ # Produces a random valid reference.
42
+ #
43
+ # @param ref [String] Specifies reference base.
44
+ # @return [String]
45
+ #
46
+ # @example
47
+ # Faker::Invoice.reference #=> "45656646957845"
48
+ #
49
+ # @faker.version 1.9.0
50
+ def reference(ref: '')
37
51
  pattern = fetch('invoice.reference.pattern')
38
52
 
39
53
  ref = Base.regexify(/#{pattern}/) if ref.empty?
@@ -88,7 +102,7 @@ module Faker
88
102
  mod10_remainder(weighted_sum)
89
103
  end
90
104
 
91
- # Calculates weigthed sum
105
+ # Calculates weighted sum
92
106
  #
93
107
  # For example with 12345678, [1,2]
94
108
  # Ref.num. 1 2 3 4 5 6 7 8
@@ -3,34 +3,72 @@ module Faker
3
3
  require 'json'
4
4
 
5
5
  class << self
6
- def shallow_json(legacy_width = NOT_GIVEN, legacy_options = NOT_GIVEN, width: 3, options: { key: 'Name.first_name', value: 'Name.first_name' })
7
- warn_for_deprecated_arguments do |keywords|
8
- keywords << :width if legacy_width != NOT_GIVEN
9
- keywords << :options if legacy_options != NOT_GIVEN
10
- end
11
-
12
- options[:key] = 'Faker::' + options[:key]
13
- options[:value] = 'Faker::' + options[:value]
6
+ ##
7
+ # Produces a random simple JSON formatted string.
8
+ #
9
+ # @param width [Integer] Specifies the number of key-value pairs.
10
+ # @param options [Hash] Specifies a Faker gem class to use for keys and for values, respectably. options_hash = {key: Class.method, value: Class.method}
11
+ # @return [Hash{String => String}]
12
+ #
13
+ # @example
14
+ # Faker::Json.shallow_json(width: 3, options: { key: 'RockBand.name', value: 'Seinfeld.quote' }) # =>
15
+ # {"Parliament Funkadelic":"They're real, and they're spectacular.",
16
+ # "Fleetwood Mac":"I'm not a lesbian. I hate men, but I'm not a lesbian.",
17
+ # "The Roots":"It became very clear to me sitting out there today that every decision
18
+ # I've made in my entire life has been wrong. My life is the complete opposite of everything
19
+ # I want it to be. Every instinct I have, in every aspect of life, be it something to wear,
20
+ # something to eat - it's all been wrong."}
21
+ #
22
+ # @faker.version 1.9.2
23
+ def shallow_json(width: 3, options: { key: 'Name.first_name', value: 'Name.first_name' })
24
+ options[:key] = "Faker::#{options[:key]}"
25
+ options[:value] = "Faker::#{options[:value]}"
14
26
 
15
27
  hash = build_shallow_hash(width, options)
16
28
  JSON.generate(hash)
17
29
  end
18
30
 
19
- # rubocop:disable Metrics/ParameterLists
20
- def add_depth_to_json(legacy_json = NOT_GIVEN, legacy_width = NOT_GIVEN, legacy_options = NOT_GIVEN, json: shallow_json, width: 3, options: { key: 'Name.first_name', value: 'Name.first_name' })
21
- # rubocop:enable Metrics/ParameterLists
22
- warn_for_deprecated_arguments do |keywords|
23
- keywords << :json if legacy_json != NOT_GIVEN
24
- end
25
- warn_for_deprecated_arguments do |keywords|
26
- keywords << :width if legacy_width != NOT_GIVEN
27
- end
28
- warn_for_deprecated_arguments do |keywords|
29
- keywords << :options if legacy_options != NOT_GIVEN
30
- end
31
-
32
- options[:key] = 'Faker::' + options[:key]
33
- options[:value] = 'Faker::' + options[:value]
31
+ ##
32
+ # Produces a random nested JSON formatted string that can take JSON as an additional argument.
33
+ #
34
+ # @param json [Hash{String => String}] Specifies a Json.shallow_json and uses its keys as keys of the nested JSON.
35
+ # @param width [Integer] Specifies the number of nested key-value pairs.
36
+ # @param options [Hash] Specifies a Faker gem class to use for nested keys and for values, respectably. options_hash = {key: Class.method, value: Class.method}
37
+ # @return [Hash{String => String}]
38
+ #
39
+ # @example
40
+ # json = Faker::Json.shallow_json(width: 3, options: { key: 'Name.first_name', value: 'Name.last_name' })
41
+ # puts json # =>
42
+ # {"Alisha":"Olson","Everardo":"DuBuque","Bridgette":"Turner"}
43
+ #
44
+ # json2 = Faker::Json.add_depth_to_json(json: json, width: 2, options: { key: 'Name.first_name', value: 'Name.last_name' })
45
+ # puts json2 # =>
46
+ # {"Alisha":{"Daisy":"Trantow","Oda":"Haag"},
47
+ # "Everardo":{"Javier":"Marvin","Eliseo":"Schuppe"},
48
+ # "Bridgette":{"Jorge":"Kertzmann","Lelah":"MacGyver"}}
49
+ #
50
+ # json3 = Faker::Json.add_depth_to_json(json: json2, width: 4, options: { key: 'Name.first_name', value: 'Name.last_name' })
51
+ # puts json3 # =>
52
+ # {"Alisha":
53
+ # {"Daisy":
54
+ # {"Bulah":"Wunsch","Cristian":"Champlin","Lester":"Bartoletti","Greg":"Jacobson"},
55
+ # "Oda":
56
+ # {"Salvatore":"Kuhlman","Aubree":"Okuneva","Larry":"Schmitt","Velva":"Gibson"}},
57
+ # "Everardo":
58
+ # {"Javier":
59
+ # {"Eduardo":"Orn","Laila":"Kub","Thad":"Legros","Dion":"Wilderman"},
60
+ # "Eliseo":
61
+ # {"Olin":"Hilpert","Marisa":"Greenfelder","Karlee":"Schmitt","Judd":"Larkin"}},
62
+ # "Bridgette":
63
+ # {"Jorge":
64
+ # {"Eloy":"Pfeffer","Kody":"Hansen","Paxton":"Lubowitz","Abe":"Lesch"},
65
+ # "Lelah":
66
+ # {"Rick":"Wiza","Bonita":"Bayer","Gardner":"Auer","Felicity":"Abbott"}}}
67
+ #
68
+ # @faker.version 1.9.2
69
+ def add_depth_to_json(json: shallow_json, width: 3, options: { key: 'Name.first_name', value: 'Name.first_name' })
70
+ options[:key] = "Faker::#{options[:key]}"
71
+ options[:value] = "Faker::#{options[:value]}"
34
72
 
35
73
  hash = JSON.parse(json)
36
74
  hash.each do |key, _|
@@ -4,25 +4,56 @@ module Faker
4
4
  # Based on Perl's Text::Lorem
5
5
  class Lorem < Base
6
6
  class << self
7
+ ##
8
+ # Returs the random word
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # Faker::Lorem.word #=> "soluto"
13
+ #
14
+ # @faker.version 2.1.3
7
15
  def word
8
16
  sample(translate('faker.lorem.words'))
9
17
  end
10
18
 
11
- def words(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
12
- warn_for_deprecated_arguments do |keywords|
13
- keywords << :number if legacy_number != NOT_GIVEN
14
- keywords << :supplemental if legacy_supplemental != NOT_GIVEN
15
- end
16
-
19
+ ##
20
+ # Generates random 3 words
21
+ #
22
+ # @param number [Integer] Number of words to be generated
23
+ # @param supplemental [Boolean] Whether to attach supplemental words at the end, default is false
24
+ #
25
+ # @return [Array] Array for words
26
+ #
27
+ # @example
28
+ # Faker::Lorem.words #=> ["hic", "quia", "nihil"]
29
+ # Faker::Lorem.words(number: 4) #=> ["est", "temporibus", "et", "quaerat"]
30
+ # Faker::Lorem.words(number: 4, supplemental: true) #=> ["nisi", "sit", "allatus", "consequatur"]
31
+ # Faker::Lorem.words(number: 4, supplemental: true, exclude_words: 'sit') #=> ["nisi", "allatus", "consequatur", "aut"]
32
+ #
33
+ # @faker.version 2.1.3
34
+ def words(number: 3, supplemental: false, exclude_words: nil)
17
35
  resolved_num = resolve(number)
18
36
  word_list = (
19
37
  translate('faker.lorem.words') +
20
38
  (supplemental ? translate('faker.lorem.supplemental') : [])
21
39
  )
40
+ if exclude_words
41
+ exclude_words = exclude_words.split(', ') if exclude_words.instance_of?(::String)
42
+ word_list -= exclude_words
43
+ end
22
44
  word_list *= ((resolved_num / word_list.length) + 1)
23
45
  shuffle(word_list)[0, resolved_num]
24
46
  end
25
47
 
48
+ ##
49
+ # Generates single character
50
+ #
51
+ # @return [String]
52
+ #
53
+ # @example
54
+ # Faker::Lorem.character #=> "e"
55
+ #
56
+ # @faker.version 2.1.3
26
57
  def character
27
58
  sample(Types::CHARACTERS)
28
59
  end
@@ -43,94 +74,162 @@ module Faker
43
74
  # Faker::Lorem.characters(number: 10, min_alpha: 4, min_numeric: 1) #=> "ang9cbhoa8"
44
75
  #
45
76
  # @faker.version 2.1.3
46
- def characters(legacy_number = NOT_GIVEN, number: 255, min_alpha: 0, min_numeric: 0)
47
- warn_for_deprecated_arguments do |keywords|
48
- keywords << :number if legacy_number != NOT_GIVEN
49
- end
50
-
77
+ def characters(number: 255, min_alpha: 0, min_numeric: 0)
51
78
  Alphanumeric.alphanumeric(number: number, min_alpha: min_alpha, min_numeric: min_numeric)
52
79
  end
53
80
 
81
+ ##
82
+ # Generates the emoji
83
+ #
84
+ # @return [String]
85
+ #
86
+ # @example
87
+ # Faker::Lorem.multibyte #=> "😀"
88
+ # Faker::Lorem.multibyte #=> "❤"
89
+ #
90
+ # @faker.version 2.1.3
54
91
  def multibyte
55
92
  sample(translate('faker.lorem.multibyte')).pack('C*').force_encoding('utf-8')
56
93
  end
57
94
 
58
- # rubocop:disable Metrics/ParameterLists
59
- def sentence(legacy_word_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, supplemental: false, random_words_to_add: 0)
60
- # rubocop:enable Metrics/ParameterLists
61
- warn_for_deprecated_arguments do |keywords|
62
- keywords << :word_count if legacy_word_count != NOT_GIVEN
63
- keywords << :supplemental if legacy_supplemental != NOT_GIVEN
64
- keywords << :random_words_to_add if legacy_random_words_to_add != NOT_GIVEN
65
- end
66
-
67
- words(number: word_count + rand(random_words_to_add.to_i), supplemental: supplemental).join(locale_space).capitalize + locale_period
95
+ ##
96
+ # Generates sentence
97
+ #
98
+ # @param word_count [Integer] How many words should be there in a sentence, default to 4
99
+ # @param supplemental [Boolean] Add supplemental words, default to false
100
+ # @param random_words_to_add [Integer] Add any random words, default to 0
101
+ #
102
+ # @return [String]
103
+ #
104
+ # @example
105
+ # Faker::Lorem.sentence #=> "Magnam qui aut quidem."
106
+ # Faker::Lorem.sentence(word_count: 5) #=> "Voluptas rerum aut aliquam velit."
107
+ # Faker::Lorem.sentence(word_count: 5, supplemental: true) #=> "Aut viscus curtus votum iusto."
108
+ # Faker::Lorem.sentence(word_count: 5, supplemental: true, random_words_to_add:2) #=> "Crinis quo cruentus velit animi vomer."
109
+ #
110
+ # @faker.version 2.1.3
111
+ def sentence(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil)
112
+ words(number: word_count + rand(random_words_to_add.to_i), supplemental: supplemental, exclude_words: exclude_words).join(locale_space).capitalize + locale_period
68
113
  end
69
114
 
70
- def sentences(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
71
- warn_for_deprecated_arguments do |keywords|
72
- keywords << :number if legacy_number != NOT_GIVEN
73
- keywords << :supplemental if legacy_supplemental != NOT_GIVEN
74
- end
75
-
76
- 1.upto(resolve(number)).collect { sentence(word_count: 3, supplemental: supplemental) }
115
+ ##
116
+ # Generates three sentences
117
+ #
118
+ # @param number [Integer] How many sentences to be generated, default to 3
119
+ # @param supplemental [Boolean] Should add supplemental words, defaults to false
120
+ #
121
+ # @return [Array] Returns array for sentences.
122
+ #
123
+ # @example
124
+ # Faker::Lorem.sentences #=> ["Possimus non tenetur.", "Nulla non excepturi.", "Quisquam rerum facilis."]
125
+ # Faker::Lorem.sentences(number: 2) #=> ["Nulla est natus.", "Perferendis autem cum."]
126
+ # Faker::Lorem.sentences(number: 2, supplemental: true) #=> ["Cito cena ad.", "Solvo animus allatus."]
127
+ #
128
+ # @faker.version 2.1.3
129
+ def sentences(number: 3, supplemental: false, exclude_words: nil)
130
+ 1.upto(resolve(number)).collect { sentence(word_count: 3, supplemental: supplemental, exclude_words: exclude_words) }
77
131
  end
78
132
 
79
- # rubocop:disable Metrics/ParameterLists
80
- def paragraph(legacy_sentence_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_sentences_to_add = NOT_GIVEN, sentence_count: 3, supplemental: false, random_sentences_to_add: 0)
81
- # rubocop:enable Metrics/ParameterLists
82
- warn_for_deprecated_arguments do |keywords|
83
- keywords << :sentence_count if legacy_sentence_count != NOT_GIVEN
84
- keywords << :supplemental if legacy_supplemental != NOT_GIVEN
85
- keywords << :random_sentences_to_add if legacy_random_sentences_to_add != NOT_GIVEN
86
- end
87
-
88
- sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i), supplemental: supplemental).join(locale_space)
133
+ ##
134
+ # Generates three sentence paragraph
135
+ #
136
+ # @param sentence_count [Integer] Number of sentences in the paragraph
137
+ # @param supplemental [Boolean]
138
+ # @param random_sentences_to_add [Integer]
139
+ #
140
+ # @return [String]
141
+ #
142
+ # @example
143
+ # Faker::Lorem.paragraph
144
+ # #=> "Impedit et est. Aliquid deleniti necessitatibus. Et aspernatur minima."
145
+ # Faker::Lorem.paragraph(sentence_count: 2)
146
+ # #=> "Rerum fugit vitae. Et atque autem."
147
+ # Faker::Lorem.paragraph(sentence_count: 2, supplemental: true)
148
+ # #=> "Terreo coerceo utor. Vester sunt cogito."
149
+ # Faker::Lorem.paragraph(sentence_count: 2, supplemental: true, random_sentences_to_add: 2)
150
+ # #=> "Texo tantillus tamisium. Tribuo amissio tamisium. Facere aut canis."
151
+ #
152
+ # @faker.version 2.1.3
153
+ def paragraph(sentence_count: 3, supplemental: false, random_sentences_to_add: 0, exclude_words: nil)
154
+ sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i), supplemental: supplemental, exclude_words: exclude_words).join(locale_space)
89
155
  end
90
156
 
91
- def paragraphs(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
92
- warn_for_deprecated_arguments do |keywords|
93
- keywords << :number if legacy_number != NOT_GIVEN
94
- end
95
- warn_for_deprecated_arguments do |keywords|
96
- keywords << :supplemental if legacy_supplemental != NOT_GIVEN
97
- end
98
-
99
- 1.upto(resolve(number)).collect { paragraph(sentence_count: 3, supplemental: supplemental) }
157
+ ##
158
+ # Generates three paragraphs
159
+ #
160
+ # @param number [Integer]
161
+ # @param supplemental [Boolean]
162
+ #
163
+ # @return [Array]
164
+ #
165
+ # @example
166
+ # Faker::Lorem.paragraphs
167
+ # Faker::Lorem.paragraphs(number:2)
168
+ # Faker::Lorem.paragraphs(number:2, supplemental: true)
169
+ #
170
+ # @faker.version 2.1.3
171
+ def paragraphs(number: 3, supplemental: false, exclude_words: nil)
172
+ 1.upto(resolve(number)).collect { paragraph(sentence_count: 3, supplemental: supplemental, exclude_words: exclude_words) }
100
173
  end
101
174
 
102
- def paragraph_by_chars(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 256, supplemental: false)
103
- warn_for_deprecated_arguments do |keywords|
104
- keywords << :number if legacy_number != NOT_GIVEN
105
- keywords << :supplemental if legacy_supplemental != NOT_GIVEN
106
- end
107
-
175
+ ##
176
+ # Generates paragraph with 256 characters
177
+ #
178
+ # @param number [Integer]
179
+ # @param supplemental [Boolean]
180
+ #
181
+ # @return [String]
182
+ #
183
+ # @example
184
+ # Faker::Lorem.paragraph_by_chars
185
+ # Faker::Lorem.paragraph_by_chars(number: 20) #=> "Sit modi alias. Imp."
186
+ # Faker::Lorem.paragraph_by_chars(number: 20, supplemental: true) #=> "Certus aveho admove."
187
+ #
188
+ # @faker.version 2.1.3
189
+ def paragraph_by_chars(number: 256, supplemental: false)
108
190
  paragraph = paragraph(sentence_count: 3, supplemental: supplemental)
109
191
 
110
- paragraph += ' ' + paragraph(sentence_count: 3, supplemental: supplemental) while paragraph.length < number
192
+ paragraph += " #{paragraph(sentence_count: 3, supplemental: supplemental)}" while paragraph.length < number
111
193
 
112
- paragraph[0...number - 1] + '.'
194
+ "#{paragraph[0...number - 1]}."
113
195
  end
114
196
 
115
- # rubocop:disable Metrics/ParameterLists
116
- def question(legacy_word_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, supplemental: false, random_words_to_add: 0)
117
- # rubocop:enable Metrics/ParameterLists
118
- warn_for_deprecated_arguments do |keywords|
119
- keywords << :word_count if legacy_word_count != NOT_GIVEN
120
- keywords << :supplemental if legacy_supplemental != NOT_GIVEN
121
- keywords << :random_words_to_add if legacy_random_words_to_add != NOT_GIVEN
122
- end
123
-
124
- words(number: word_count + rand(random_words_to_add), supplemental: supplemental).join(' ').capitalize + locale_question_mark
197
+ ##
198
+ # Returns the question with 4 words
199
+ #
200
+ # @param word_count [Integer]
201
+ # @param supplemental [Boolean]
202
+ # @param random_words_to_add [Integer]
203
+ #
204
+ # @return [String]
205
+ #
206
+ # @example
207
+ # Faker::Lorem.question #=> "Natus deleniti sequi laudantium?"
208
+ # Faker::Lorem.question(word_count: 2) #=> "Quo ut?"
209
+ # Faker::Lorem.question(word_count: 2, supplemental: true) #=> "Terga consequatur?"
210
+ # Faker::Lorem.question(word_count: 2, supplemental: true, random_words_to_add: 2) #=> "Depulso uter ut?"
211
+ #
212
+ # @faker.version 2.1.3
213
+ def question(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil)
214
+ words(number: word_count + rand(random_words_to_add), supplemental: supplemental, exclude_words: exclude_words).join(' ').capitalize + locale_question_mark
125
215
  end
126
216
 
127
- def questions(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
128
- warn_for_deprecated_arguments do |keywords|
129
- keywords << :number if legacy_number != NOT_GIVEN
130
- keywords << :supplemental if legacy_supplemental != NOT_GIVEN
131
- end
132
-
133
- 1.upto(resolve(number)).collect { question(word_count: 3, supplemental: supplemental) }
217
+ ##
218
+ # Generates array of three questions
219
+ #
220
+ # @param number [Integer]
221
+ # @param supplemental [Boolean]
222
+ #
223
+ # @return [Array]
224
+ #
225
+ # @example
226
+ # Faker::Lorem.questions #=> ["Amet culpa enim?", "Voluptatem deleniti numquam?", "Veniam non cum?"]
227
+ # Faker::Lorem.questions(number: 2) #=> ["Minus occaecati nobis?", "Veniam et alias?"]
228
+ # Faker::Lorem.questions(number: 2, supplemental: true) #=> ["Acceptus subito cetera?", "Aro sulum cubicularis?"]
229
+ #
230
+ # @faker.version 2.1.3
231
+ def questions(number: 3, supplemental: false, exclude_words: nil)
232
+ 1.upto(resolve(number)).collect { question(word_count: 3, supplemental: supplemental, exclude_words: exclude_words) }
134
233
  end
135
234
 
136
235
  private