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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +810 -19
- data/History.md +5 -5
- data/README.md +232 -105
- data/lib/faker/blockchain/aeternity.rb +5 -5
- data/lib/faker/blockchain/bitcoin.rb +2 -2
- data/lib/faker/blockchain/ethereum.rb +1 -1
- data/lib/faker/blockchain/tezos.rb +31 -3
- data/lib/faker/books/dune.rb +17 -12
- data/lib/faker/books/lovecraft.rb +14 -41
- data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
- data/lib/faker/creature/bird.rb +203 -0
- data/lib/faker/default/address.rb +40 -30
- data/lib/faker/default/adjective.rb +35 -0
- data/lib/faker/default/alphanumeric.rb +2 -8
- data/lib/faker/default/app.rb +1 -10
- data/lib/faker/default/avatar.rb +1 -12
- data/lib/faker/default/bank.rb +104 -19
- data/lib/faker/default/barcode.rb +165 -0
- data/lib/faker/default/beer.rb +3 -3
- data/lib/faker/default/blood.rb +48 -0
- data/lib/faker/default/boolean.rb +1 -4
- data/lib/faker/default/business.rb +1 -1
- data/lib/faker/default/camera.rb +46 -0
- data/lib/faker/default/cannabis.rb +10 -0
- data/lib/faker/default/chile_rut.rb +54 -16
- data/lib/faker/default/chuck_norris.rb +1 -0
- data/lib/faker/default/code.rb +106 -38
- data/lib/faker/default/color.rb +77 -6
- data/lib/faker/default/commerce.rb +105 -28
- data/lib/faker/default/company.rb +116 -28
- data/lib/faker/default/compass.rb +135 -0
- data/lib/faker/default/computer.rb +63 -0
- data/lib/faker/default/construction.rb +54 -0
- data/lib/faker/default/cosmere.rb +90 -0
- data/lib/faker/default/crypto.rb +17 -4
- data/lib/faker/default/crypto_coin.rb +48 -15
- data/lib/faker/default/date.rb +21 -50
- data/lib/faker/default/demographic.rb +1 -5
- data/lib/faker/default/driving_licence.rb +66 -10
- data/lib/faker/default/drone.rb +332 -0
- data/lib/faker/default/educator.rb +13 -0
- data/lib/faker/default/emotion.rb +33 -0
- data/lib/faker/default/file.rb +53 -21
- data/lib/faker/default/finance.rb +75 -7
- data/lib/faker/default/food.rb +28 -2
- data/lib/faker/default/gender.rb +1 -1
- data/lib/faker/default/hipster.rb +106 -48
- data/lib/faker/default/hobby.rb +22 -0
- data/lib/faker/default/id_number.rb +230 -13
- data/lib/faker/default/internet.rb +390 -108
- data/lib/faker/default/internet_http.rb +48 -0
- data/lib/faker/default/invoice.rb +37 -23
- data/lib/faker/default/json.rb +61 -23
- data/lib/faker/default/lorem.rb +171 -72
- data/lib/faker/default/lorem_flickr.rb +69 -37
- data/lib/faker/default/markdown.rb +97 -11
- data/lib/faker/default/marketing.rb +1 -1
- data/lib/faker/default/measurement.rb +101 -42
- data/lib/faker/default/military.rb +26 -0
- data/lib/faker/default/mountain.rb +33 -0
- data/lib/faker/default/name.rb +99 -5
- data/lib/faker/default/nation.rb +0 -3
- data/lib/faker/default/nhs.rb +21 -6
- data/lib/faker/default/number.rb +38 -68
- data/lib/faker/default/omniauth.rb +111 -53
- data/lib/faker/default/phone_number.rb +89 -10
- data/lib/faker/default/placeholdit.rb +23 -12
- data/lib/faker/default/relationship.rb +2 -6
- data/lib/faker/default/religion.rb +6 -0
- data/lib/faker/default/science.rb +108 -0
- data/lib/faker/default/slack_emoji.rb +81 -0
- data/lib/faker/default/source.rb +3 -16
- data/lib/faker/default/south_africa.rb +90 -0
- data/lib/faker/default/space.rb +1 -1
- data/lib/faker/default/string.rb +18 -8
- data/lib/faker/default/stripe.rb +68 -23
- data/lib/faker/default/tea.rb +41 -0
- data/lib/faker/default/time.rb +4 -34
- data/lib/faker/default/twitter.rb +42 -23
- data/lib/faker/default/types.rb +88 -29
- data/lib/faker/default/university.rb +45 -0
- data/lib/faker/default/vehicle.rb +212 -54
- data/lib/faker/default/verb.rb +45 -0
- data/lib/faker/default/vulnerability_identifier.rb +23 -0
- data/lib/faker/default/world_cup.rb +6 -15
- data/lib/faker/fantasy/tolkien.rb +67 -0
- data/lib/faker/games/clash_of_clans.rb +48 -0
- data/lib/faker/games/control.rb +113 -0
- data/lib/faker/games/dnd.rb +178 -0
- data/lib/faker/games/dota.rb +14 -5
- data/lib/faker/games/elder_scrolls.rb +26 -0
- data/lib/faker/games/heroes.rb +13 -0
- data/lib/faker/games/heroes_of_the_storm.rb +16 -5
- data/lib/faker/games/minecraft.rb +113 -0
- data/lib/faker/games/myst.rb +1 -1
- data/lib/faker/games/street_fighter.rb +61 -0
- data/lib/faker/games/super_mario.rb +48 -0
- data/lib/faker/games/tarkov.rb +205 -0
- data/lib/faker/games/touhou.rb +75 -0
- data/lib/faker/games/warhammer_fantasy.rb +74 -0
- data/lib/faker/games/witcher.rb +39 -0
- data/lib/faker/games/world_of_warcraft.rb +26 -1
- data/lib/faker/japanese_media/conan.rb +48 -0
- data/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
- data/lib/faker/japanese_media/doraemon.rb +48 -0
- data/lib/faker/japanese_media/dragon_ball.rb +26 -0
- data/lib/faker/japanese_media/fullmetal_alchemist_brotherhood.rb +48 -0
- data/lib/faker/japanese_media/kamen_rider.rb +102 -0
- data/lib/faker/japanese_media/naruto.rb +61 -0
- data/lib/faker/japanese_media/one_piece.rb +1 -1
- data/lib/faker/japanese_media/studio_ghibli.rb +48 -0
- data/lib/faker/locations/australia.rb +47 -0
- data/lib/faker/movies/avatar.rb +49 -0
- data/lib/faker/movies/departed.rb +49 -0
- data/lib/faker/movies/hackers.rb +48 -0
- data/lib/faker/movies/hobbit.rb +4 -4
- data/lib/faker/movies/how_to_train_your_dragon.rb +48 -0
- data/lib/faker/movies/lord_of_the_rings.rb +3 -3
- data/lib/faker/movies/movie.rb +13 -0
- data/lib/faker/movies/room.rb +63 -0
- data/lib/faker/movies/star_wars.rb +75 -7
- data/lib/faker/movies/tron.rb +161 -0
- data/lib/faker/music/hiphop.rb +48 -0
- data/lib/faker/music/music.rb +12 -0
- data/lib/faker/music/opera.rb +237 -1
- data/lib/faker/music/pearl_jam.rb +50 -0
- data/lib/faker/music/phish.rb +27 -1
- data/lib/faker/music/prince.rb +64 -0
- data/lib/faker/music/rock_band.rb +12 -0
- data/lib/faker/music/rush.rb +37 -0
- data/lib/faker/music/show.rb +49 -0
- data/lib/faker/quotes/quote.rb +93 -1
- data/lib/faker/quotes/rajnikanth.rb +1 -0
- data/lib/faker/quotes/shakespeare.rb +70 -0
- data/lib/faker/religion/bible.rb +50 -0
- data/lib/faker/sports/chess.rb +90 -0
- data/lib/faker/sports/mountaineering.rb +22 -0
- data/lib/faker/sports/sport.rb +116 -0
- data/lib/faker/sports/volleyball.rb +74 -0
- data/lib/faker/travel/airport.rb +43 -0
- data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +13 -0
- data/lib/faker/tv_shows/big_bang_theory.rb +37 -0
- data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
- data/lib/faker/tv_shows/buffy.rb +17 -4
- data/lib/faker/tv_shows/dr_who.rb +1 -1
- data/lib/faker/tv_shows/final_space.rb +51 -0
- data/lib/faker/tv_shows/futurama.rb +65 -0
- data/lib/faker/tv_shows/michael_scott.rb +0 -3
- data/lib/faker/tv_shows/simpsons.rb +14 -0
- data/lib/faker/tv_shows/spongebob.rb +50 -0
- data/lib/faker/tv_shows/suits.rb +37 -0
- data/lib/faker/tv_shows/supernatural.rb +48 -0
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +17 -4
- data/lib/faker/tv_shows/the_office.rb +37 -0
- data/lib/faker/version.rb +2 -2
- data/lib/faker.rb +40 -84
- data/lib/helpers/base58.rb +1 -1
- data/lib/helpers/char.rb +22 -27
- data/lib/helpers/unique_generator.rb +13 -13
- data/lib/locales/ar.yml +6 -1
- data/lib/locales/bg.yml +1 -1
- data/lib/locales/da-DK.yml +1 -1
- data/lib/locales/de-AT.yml +7 -6
- data/lib/locales/de-CH.yml +1697 -2
- data/lib/locales/de.yml +12 -6
- data/lib/locales/en/address.yml +4 -3
- data/lib/locales/en/adjective.yml +179 -0
- data/lib/locales/en/airport.yml +381 -0
- data/lib/locales/en/animal.yml +1 -1
- data/lib/locales/en/aqua_teen_hunger_force.yml +33 -1
- data/lib/locales/en/australia.yml +107 -0
- data/lib/locales/en/avatar.yml +31 -0
- data/lib/locales/en/bank.yml +1 -1
- data/lib/locales/en/barcode.yml +24 -0
- data/lib/locales/en/bible.yml +90 -0
- data/lib/locales/en/big_bang_theory.yml +38 -0
- data/lib/locales/en/bird.yml +1281 -0
- data/lib/locales/en/blood.yml +13 -0
- data/lib/locales/en/book.yml +487 -3
- data/lib/locales/en/brooklyn_nine_nine.yml +35 -0
- data/lib/locales/en/buffy.yml +1 -1
- data/lib/locales/en/camera.yml +611 -0
- data/lib/locales/en/cat.yml +1 -1
- data/lib/locales/en/chess.yml +103 -0
- data/lib/locales/en/clash_of_clan.yml +101 -0
- data/lib/locales/en/coffee.yml +1 -1
- data/lib/locales/en/commerce.yml +17 -0
- data/lib/locales/en/community.yml +17 -17
- data/lib/locales/en/company.yml +3 -2
- data/lib/locales/en/computer.yml +55 -0
- data/lib/locales/en/conan.yml +171 -0
- data/lib/locales/en/control.yml +247 -0
- data/lib/locales/en/cowboy_bebop.yml +163 -0
- data/lib/locales/en/demographic.yml +218 -5
- data/lib/locales/en/departed.yml +50 -0
- data/lib/locales/en/device.yml +112 -4
- data/lib/locales/en/dnd.yml +636 -0
- data/lib/locales/en/doraemon.yml +286 -0
- data/lib/locales/en/dota.yml +651 -63
- data/lib/locales/en/dragon_ball.yml +243 -1
- data/lib/locales/en/driving_license.yml +181 -0
- data/lib/locales/en/drone.yml +95 -0
- data/lib/locales/en/dune.yml +270 -131
- data/lib/locales/en/educator.yml +6 -0
- data/lib/locales/en/elder_scrolls.yml +583 -9
- data/lib/locales/en/emotion.yml +480 -0
- data/lib/locales/en/fallout.yml +311 -133
- data/lib/locales/en/file.yml +9 -1
- data/lib/locales/en/final_space.yml +37 -0
- data/lib/locales/en/finance.yml +77 -1
- data/lib/locales/en/fma_brotherhood.yml +78 -0
- data/lib/locales/en/food.yml +1066 -10
- data/lib/locales/en/football.yml +3 -3
- data/lib/locales/en/fresh_prince_of_bel_air.yml +1 -1
- data/lib/locales/en/futurama.yml +344 -0
- data/lib/locales/en/game.yml +11 -0
- data/lib/locales/en/hackers.yml +53 -0
- data/lib/locales/en/half_life.yml +84 -3
- data/lib/locales/en/heroes.yml +408 -3
- data/lib/locales/en/heroes_of_the_storm.yml +131 -4
- data/lib/locales/en/hobby.yml +171 -0
- data/lib/locales/en/horse.yml +2 -2
- data/lib/locales/en/house.yml +1 -1
- data/lib/locales/en/how_to_train_your_dragon.yml +174 -0
- data/lib/locales/en/internet.yml +140 -3
- data/lib/locales/en/jack_handey.yml +54 -0
- data/lib/locales/en/kamen_rider.yml +452 -0
- data/lib/locales/en/kpop.yml +7 -7
- data/lib/locales/en/league_of_legends.yml +285 -6
- data/lib/locales/en/lebowski.yml +1 -1
- data/lib/locales/en/lovecraft.yml +76 -6
- data/lib/locales/en/military.yml +179 -5
- data/lib/locales/en/minecraft.yml +663 -0
- data/lib/locales/en/mitch_hedberg.yml +46 -0
- data/lib/locales/en/mountain.yml +171 -0
- data/lib/locales/en/mountaineering.yml +14 -0
- data/lib/locales/en/movie.yml +194 -2
- data/lib/locales/en/music.yml +461 -29
- data/lib/locales/en/myst.yml +87 -31
- data/lib/locales/en/name.yml +5 -4
- data/lib/locales/en/naruto.yml +230 -0
- data/lib/locales/en/one_piece.yml +2 -2
- data/lib/locales/en/opera.yml +169 -1
- data/lib/locales/en/overwatch.yml +2648 -2622
- data/lib/locales/en/pearl_jam.yml +213 -0
- data/lib/locales/en/phish.yml +392 -1
- data/lib/locales/en/pokemon.yml +417 -4
- data/lib/locales/en/prince.yml +227 -0
- data/lib/locales/en/quote.yml +692 -163
- data/lib/locales/en/rock_band.yml +1 -0
- data/lib/locales/en/room.yml +68 -0
- data/lib/locales/en/rush.yml +32 -0
- data/lib/locales/en/science.yml +481 -3
- data/lib/locales/en/shakespeare.yml +21 -24
- data/lib/locales/en/show.yml +597 -0
- data/lib/locales/en/simpsons.yml +668 -0
- data/lib/locales/en/source.yml +35 -0
- data/lib/locales/en/space.yml +1 -1
- data/lib/locales/en/spongebob.yml +489 -0
- data/lib/locales/en/sport.yml +130 -0
- data/lib/locales/en/star_trek.yml +1 -1
- data/lib/locales/en/star_wars.yml +568 -220
- data/lib/locales/en/stranger_thing.yml +1 -1
- data/lib/locales/en/street_fighter.yml +1524 -0
- data/lib/locales/en/studio_ghibli.yml +107 -0
- data/lib/locales/en/suits.yml +45 -0
- data/lib/locales/en/super_mario.yml +58 -0
- data/lib/locales/en/super_smash_bros.yml +23 -6
- data/lib/locales/en/supernatural.yml +141 -0
- data/lib/locales/en/tarkov.yml +593 -0
- data/lib/locales/en/tea.yml +172 -0
- data/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
- data/lib/locales/en/the_office.yml +86 -0
- data/lib/locales/en/tolkien.yml +2453 -0
- data/lib/locales/en/touhou.yml +839 -0
- data/lib/locales/en/tron.yml +227 -0
- data/lib/locales/en/vehicle.yml +2809 -75
- data/lib/locales/en/volleyball.yml +501 -0
- data/lib/locales/en/warhammer_fantasy.yml +582 -0
- data/lib/locales/en/witcher.yml +426 -7
- data/lib/locales/en/world_of_warcraft.yml +122 -4
- data/lib/locales/en/zelda.yml +962 -4
- data/lib/locales/en-AU.yml +50 -10
- data/lib/locales/en-CA.yml +4 -1
- data/lib/locales/en-GB.yml +3 -2
- data/lib/locales/en-IND.yml +2 -1
- data/lib/locales/en-MS.yml +3 -1
- data/lib/locales/en-NEP.yml +4 -1
- data/lib/locales/en-NG.yml +1 -0
- data/lib/locales/en-NZ.yml +4 -1
- data/lib/locales/en-PAK.yml +3 -1
- data/lib/locales/en-SG.yml +3 -1
- data/lib/locales/en-UG.yml +1 -0
- data/lib/locales/en-US.yml +38 -12
- data/lib/locales/en-ZA.yml +1 -1
- data/lib/locales/en-au-ocker.yml +4 -1
- data/lib/locales/en.yml +0 -3
- data/lib/locales/es-AR.yml +4601 -0
- data/lib/locales/es-MX.yml +1 -1
- data/lib/locales/es.yml +58 -2
- data/lib/locales/fi-FI.yml +4 -2
- data/lib/locales/fr/address.yml +20 -0
- data/lib/locales/fr/adjective.yml +266 -0
- data/lib/locales/fr/ancient.yml +141 -0
- data/lib/locales/fr/animal.yml +5 -0
- data/lib/locales/fr/appliance.yml +4 -0
- data/lib/locales/fr/book.yml +7 -0
- data/lib/locales/fr/color.yml +4 -0
- data/lib/locales/fr/company.yml +17 -0
- data/lib/locales/fr/compass.yml +23 -0
- data/lib/locales/fr/demographic.yml +4 -0
- data/lib/locales/fr/gender.yml +6 -0
- data/lib/locales/fr/internet.yml +5 -0
- data/lib/locales/fr/lorem.yml +5 -0
- data/lib/locales/fr/measurement.yml +7 -0
- data/lib/locales/fr/name.yml +21 -0
- data/lib/locales/fr/phone_number.yml +7 -0
- data/lib/locales/fr/pokemon.yml +7 -0
- data/lib/locales/fr-CA.yml +22 -6
- data/lib/locales/fr-CH.yml +3 -3
- data/lib/locales/fr.yml +1 -113
- data/lib/locales/hy.yml +2 -1
- data/lib/locales/id.yml +3 -1
- data/lib/locales/it.yml +3 -1
- data/lib/locales/ja/README.md +13 -0
- data/lib/locales/ja/address.yml +120539 -0
- data/lib/locales/ja/adjective.yml +148 -0
- data/lib/locales/ja/ancient.yml +4 -0
- data/lib/locales/ja/animal.yml +5 -0
- data/lib/locales/ja/bank.yml +4 -0
- data/lib/locales/ja/book.yml +7 -0
- data/lib/locales/ja/cat.yml +5 -0
- data/lib/locales/ja/coffee.yml +4 -0
- data/lib/locales/ja/color.yml +4 -0
- data/lib/locales/ja/commerce.yml +11 -0
- data/lib/locales/ja/company.yml +8 -0
- data/lib/locales/ja/dog.yml +6 -0
- data/lib/locales/ja/emotion.yml +51 -0
- data/lib/locales/ja/food.yml +4 -0
- data/lib/locales/ja/gender.yml +4 -0
- data/lib/locales/ja/lorem.yml +9 -0
- data/lib/locales/ja/name.yml +13 -0
- data/lib/locales/ja/naruto.yml +230 -0
- data/lib/locales/ja/overwatch.yml +5 -0
- data/lib/locales/ja/phone_number.yml +7 -0
- data/lib/locales/ja/pokemon.yml +7 -0
- data/lib/locales/ja/relationship.yml +10 -0
- data/lib/locales/ja/restaurant.yml +11 -0
- data/lib/locales/ja/space.yml +5 -0
- data/lib/locales/ja/studio_ghibli.yml +112 -0
- data/lib/locales/ja/subscription.yml +8 -0
- data/lib/locales/ja/super_mario.yml +9 -0
- data/lib/locales/ja/super_smash_bros.yml +8 -0
- data/lib/locales/ja/university.yml +9 -0
- data/lib/locales/ja/zelda.yml +5 -0
- data/lib/locales/ko.yml +95 -2
- data/lib/locales/lt.yml +34 -0
- data/lib/locales/lv.yml +1 -1
- data/lib/locales/mi-NZ.yml +283 -0
- data/lib/locales/nb-NO.yml +5 -2
- data/lib/locales/nl.yml +1 -0
- data/lib/locales/pl.yml +2 -2
- data/lib/locales/pt-BR.yml +10 -2
- data/lib/locales/pt.yml +4 -2
- data/lib/locales/ru.yml +43 -1
- data/lib/locales/sk.yml +5 -2
- data/lib/locales/sv.yml +1 -0
- data/lib/locales/th.yml +76 -76
- data/lib/locales/tr.yml +1 -0
- data/lib/locales/uk.yml +3 -0
- data/lib/locales/vi.yml +1 -0
- data/lib/locales/zh-CN.yml +1 -0
- data/lib/locales/zh-TW.yml +1 -0
- metadata +219 -29
- data/lib/faker/default/fillmurray.rb +0 -45
- data/lib/faker/default/lorem_pixel.rb +0 -47
- data/lib/locales/en/hobbit.yml +0 -19
- data/lib/locales/en/lord_of_the_rings.yml +0 -6
- 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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
19
|
-
#
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
37
|
+
"RF#{iban_checksum('RF', ref)}#{ref}"
|
|
28
38
|
end
|
|
29
39
|
|
|
30
|
-
|
|
31
|
-
#
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
|
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
|
data/lib/faker/default/json.rb
CHANGED
|
@@ -3,34 +3,72 @@ module Faker
|
|
|
3
3
|
require 'json'
|
|
4
4
|
|
|
5
5
|
class << self
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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, _|
|
data/lib/faker/default/lorem.rb
CHANGED
|
@@ -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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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(
|
|
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
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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 +=
|
|
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
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
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
|