faker 2.11.0 → 3.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1131 -19
- data/README.md +249 -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 +16 -44
- data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
- data/lib/faker/creature/bird.rb +203 -0
- data/lib/faker/default/address.rb +42 -32
- 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 +62 -18
- data/lib/faker/default/chuck_norris.rb +1 -0
- data/lib/faker/default/code.rb +162 -52
- data/lib/faker/default/color.rb +77 -6
- data/lib/faker/default/commerce.rb +105 -28
- data/lib/faker/default/company.rb +210 -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 +26 -4
- data/lib/faker/default/crypto_coin.rb +48 -15
- data/lib/faker/default/date.rb +81 -54
- data/lib/faker/default/demographic.rb +1 -5
- data/lib/faker/default/driving_licence.rb +85 -18
- 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 +108 -51
- data/lib/faker/default/hobby.rb +22 -0
- data/lib/faker/default/html.rb +230 -0
- data/lib/faker/default/id_number.rb +251 -17
- data/lib/faker/default/internet.rb +361 -113
- data/lib/faker/default/internet_http.rb +48 -0
- data/lib/faker/default/invoice.rb +37 -23
- data/lib/faker/default/json.rb +63 -25
- data/lib/faker/default/lorem.rb +177 -75
- 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 → national_health_service.rb} +26 -6
- data/lib/faker/default/number.rb +39 -69
- data/lib/faker/default/omniauth.rb +115 -57
- data/lib/faker/default/phone_number.rb +112 -14
- 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 +93 -3
- 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/theater.rb +52 -0
- data/lib/faker/default/time.rb +4 -34
- data/lib/faker/default/twitter.rb +42 -23
- data/lib/faker/default/types.rb +92 -34
- data/lib/faker/default/university.rb +45 -0
- data/lib/faker/default/vehicle.rb +227 -57
- 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/final_fantasy_xiv.rb +73 -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 +51 -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 +52 -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/star_wars.rb +75 -7
- data/lib/faker/movies/the_room.rb +63 -0
- 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/smashing_pumpkins.rb +64 -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/travel/train_station.rb +54 -0
- data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +13 -0
- data/lib/faker/tv_shows/archer.rb +51 -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/south_park.rb +15 -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 +51 -87
- data/lib/helpers/base58.rb +1 -1
- data/lib/helpers/char.rb +22 -27
- data/lib/helpers/deprecator.rb +53 -0
- data/lib/helpers/positional_generator.rb +480 -0
- data/lib/helpers/unique_generator.rb +13 -13
- data/lib/locales/README.md +18 -2
- data/lib/locales/ar.yml +6 -1
- data/lib/locales/bg.yml +1 -2
- data/lib/locales/da-DK.yml +529 -35
- data/lib/locales/de-AT.yml +3487 -25
- data/lib/locales/de-CH.yml +6020 -9
- data/lib/locales/de.yml +7185 -97
- data/lib/locales/ee.yml +0 -1
- data/lib/locales/en/address.yml +1828 -562
- 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/archer.yml +75 -0
- data/lib/locales/en/australia.yml +108 -0
- data/lib/locales/en/avatar.yml +31 -0
- data/lib/locales/en/bank.yml +2 -2
- 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/dog.yml +262 -7
- data/lib/locales/en/doraemon.yml +286 -0
- data/lib/locales/en/dota.yml +704 -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_fantasy_xiv.yml +754 -0
- data/lib/locales/en/final_space.yml +37 -0
- data/lib/locales/en/finance.yml +80 -4
- data/lib/locales/en/food.yml +1067 -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/fullmetal_alchemist_brotherhood.yml +78 -0
- 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/harry_potter.yml +1 -1
- 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/id_number.yml +1 -1
- data/lib/locales/en/internet.yml +136 -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/phone_number.yml +78 -3
- 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/rush.yml +32 -0
- data/lib/locales/en/science.yml +481 -3
- data/lib/locales/en/shakespeare.yml +21 -24
- data/lib/locales/en/simpsons.yml +668 -0
- data/lib/locales/en/smashing_pumpkins.yml +382 -0
- data/lib/locales/en/source.yml +35 -0
- data/lib/locales/en/south_park.yml +360 -2
- 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/the_room.yml +68 -0
- data/lib/locales/en/theater.yml +597 -0
- data/lib/locales/en/tolkien.yml +2453 -0
- data/lib/locales/en/touhou.yml +839 -0
- data/lib/locales/en/train_station.yml +280 -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 +728 -17
- data/lib/locales/en-CA.yml +373 -16
- data/lib/locales/en-GB.yml +116 -8
- data/lib/locales/en-IND.yml +1259 -16
- data/lib/locales/en-KE.yml +212 -0
- data/lib/locales/en-MS.yml +364 -16
- data/lib/locales/en-NEP.yml +212 -35
- data/lib/locales/en-NG.yml +1 -0
- data/lib/locales/en-NZ.yml +1153 -121
- data/lib/locales/en-PAK.yml +369 -9
- data/lib/locales/en-SG.yml +581 -15
- data/lib/locales/en-UG.yml +1 -0
- data/lib/locales/en-US.yml +6937 -71
- data/lib/locales/en-ZA.yml +1 -1
- data/lib/locales/en-au-ocker.yml +266 -21
- data/lib/locales/en.yml +0 -3
- data/lib/locales/es-AR.yml +4570 -0
- data/lib/locales/es-MX.yml +1 -2
- data/lib/locales/es.yml +58 -3
- 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 +4 -0
- data/lib/locales/fr/lorem.yml +5 -0
- data/lib/locales/fr/measurement.yml +7 -0
- data/lib/locales/fr/name.yml +22 -0
- data/lib/locales/fr/phone_number.yml +7 -0
- data/lib/locales/fr/pokemon.yml +7 -0
- data/lib/locales/fr-CA.yml +2748 -43
- data/lib/locales/fr-CH.yml +3 -4
- data/lib/locales/fr.yml +2 -112
- data/lib/locales/hy.yml +3624 -119
- data/lib/locales/id.yml +839 -10
- data/lib/locales/it.yml +1304 -31
- 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/football.yml +115 -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/sport.yml +130 -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/touhou.yml +466 -0
- data/lib/locales/ja/university.yml +9 -0
- data/lib/locales/ja/zelda.yml +5 -0
- data/lib/locales/ko.yml +1450 -17
- data/lib/locales/lt.yml +315 -0
- data/lib/locales/lv.yml +1 -2
- data/lib/locales/mi-NZ.yml +283 -0
- data/lib/locales/nb-NO.yml +518 -27
- data/lib/locales/nl.yml +1 -1
- data/lib/locales/pl.yml +1 -2
- data/lib/locales/pt-BR.yml +8157 -659
- data/lib/locales/pt.yml +844 -43
- data/lib/locales/ru.yml +1355 -30
- data/lib/locales/sk.yml +4410 -41
- data/lib/locales/sv.yml +100 -0
- data/lib/locales/th.yml +76 -76
- data/lib/locales/tr.yml +1 -2
- data/lib/locales/uk.yml +1810 -44
- data/lib/locales/vi.yml +1 -0
- data/lib/locales/zh-CN/bank.yml +17 -0
- data/lib/locales/zh-CN.yml +1 -0
- data/lib/locales/zh-TW.yml +1 -0
- metadata +192 -127
- data/History.md +0 -176
- 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
|
@@ -14,11 +14,7 @@ module Faker
|
|
|
14
14
|
# Faker::Relationship.familial #=> "Grandfather"
|
|
15
15
|
#
|
|
16
16
|
# @faker.version 1.9.2
|
|
17
|
-
def familial(
|
|
18
|
-
warn_for_deprecated_arguments do |keywords|
|
|
19
|
-
keywords << :connection if legacy_connection != NOT_GIVEN
|
|
20
|
-
end
|
|
21
|
-
|
|
17
|
+
def familial(connection: nil)
|
|
22
18
|
familial_connections = translate('faker.relationship.familial').keys
|
|
23
19
|
|
|
24
20
|
if connection.nil?
|
|
@@ -32,7 +28,7 @@ module Faker
|
|
|
32
28
|
end
|
|
33
29
|
end
|
|
34
30
|
|
|
35
|
-
fetch(
|
|
31
|
+
fetch("relationship.familial.#{connection}")
|
|
36
32
|
end
|
|
37
33
|
|
|
38
34
|
##
|
|
@@ -3,6 +3,47 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Science < Base
|
|
5
5
|
class << self
|
|
6
|
+
BRANCHES = {
|
|
7
|
+
empirical: %i[empirical_natural_basic empirical_natural_applied empirical_social_basic empirical_social_applied],
|
|
8
|
+
formal: %i[formal_basic formal_applied],
|
|
9
|
+
natural: %i[empirical_natural_basic empirical_natural_applied],
|
|
10
|
+
social: %i[empirical_social_basic empirical_social_applied],
|
|
11
|
+
basic: %i[empirical_natural_basic empirical_social_basic formal_basic],
|
|
12
|
+
applied: %i[empirical_natural_applied empirical_social_applied formal_applied]
|
|
13
|
+
}.freeze
|
|
14
|
+
|
|
15
|
+
##
|
|
16
|
+
# Produces a name of a science
|
|
17
|
+
# You can optionally filter by specifying one or more of the following:
|
|
18
|
+
# `:empirical, :formal, :natural, :social, :basic, :applied`
|
|
19
|
+
# @see https://en.wikipedia.org/wiki/Science#Branches_of_science
|
|
20
|
+
# @see Faker::Educator.subject
|
|
21
|
+
#
|
|
22
|
+
# @param branches [Array<Symbol>]
|
|
23
|
+
# @return [String]
|
|
24
|
+
#
|
|
25
|
+
# @example
|
|
26
|
+
# Faker::Science.science #=> "Space science"
|
|
27
|
+
# Faker::Science.science(:natural, :applied) #=> "Engineering"
|
|
28
|
+
# Faker::Science.science(:formal, :applied) #=> "Computer Science"
|
|
29
|
+
#
|
|
30
|
+
# @faker.version next
|
|
31
|
+
def science(*branches)
|
|
32
|
+
selected = BRANCHES.values.flatten.uniq
|
|
33
|
+
branches.each do |branch|
|
|
34
|
+
selected &= BRANCHES[branch] if BRANCHES.key? branch
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
raise ArgumentError, 'Filters do not match any sciences' if selected.empty?
|
|
38
|
+
|
|
39
|
+
sciences = []
|
|
40
|
+
selected.each do |branch|
|
|
41
|
+
sciences += translate("faker.science.branch.#{branch}")
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
sample(sciences)
|
|
45
|
+
end
|
|
46
|
+
|
|
6
47
|
##
|
|
7
48
|
# Produces the name of a element.
|
|
8
49
|
#
|
|
@@ -29,6 +70,32 @@ module Faker
|
|
|
29
70
|
fetch('science.element_symbol')
|
|
30
71
|
end
|
|
31
72
|
|
|
73
|
+
##
|
|
74
|
+
# Produces the state of an element.
|
|
75
|
+
#
|
|
76
|
+
# @return [String]
|
|
77
|
+
#
|
|
78
|
+
# @example
|
|
79
|
+
# Faker::Science.element_state #=> "Liquid"
|
|
80
|
+
#
|
|
81
|
+
# @faker.version next
|
|
82
|
+
def element_state
|
|
83
|
+
fetch('science.element_state')
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
##
|
|
87
|
+
# Produces the subcategory of an element.
|
|
88
|
+
#
|
|
89
|
+
# @return [String]
|
|
90
|
+
#
|
|
91
|
+
# @example
|
|
92
|
+
# Faker::Science.element_subcategory #=> "Reactive nonmetal"
|
|
93
|
+
#
|
|
94
|
+
# @faker.version next
|
|
95
|
+
def element_subcategory
|
|
96
|
+
fetch('science.element_subcategory')
|
|
97
|
+
end
|
|
98
|
+
|
|
32
99
|
##
|
|
33
100
|
# Produces the name of a scientist.
|
|
34
101
|
#
|
|
@@ -41,6 +108,47 @@ module Faker
|
|
|
41
108
|
def scientist
|
|
42
109
|
fetch('science.scientist')
|
|
43
110
|
end
|
|
111
|
+
|
|
112
|
+
##
|
|
113
|
+
# Produces a scientifically sounding word
|
|
114
|
+
#
|
|
115
|
+
# @return [String]
|
|
116
|
+
#
|
|
117
|
+
# @example
|
|
118
|
+
# Faker::Science.modifier #=> "Quantum"
|
|
119
|
+
# Faker::Science.modifier #=> "Superconductive"
|
|
120
|
+
#
|
|
121
|
+
# @faker.version next
|
|
122
|
+
def modifier
|
|
123
|
+
fetch('science.modifier')
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
##
|
|
127
|
+
# Produces the name of a scientific tool.
|
|
128
|
+
# By default it uses a science word modifier to generate more diverse data, which can be disabled.
|
|
129
|
+
#
|
|
130
|
+
# @param simple [Boolean] Whether to generate simple realistic tool names, (no Q-word).
|
|
131
|
+
# @return [String]
|
|
132
|
+
#
|
|
133
|
+
# @example
|
|
134
|
+
# Faker::Science.tool #=> "Superconductive Microcentrifuge"
|
|
135
|
+
# Faker::Science.tool #=> "Portable Cryostat"
|
|
136
|
+
# Faker::Science.tool #=> "Quantum Spectrophotometer"
|
|
137
|
+
# Faker::Science.tool(simple: true) #=> "Microcentrifuge"
|
|
138
|
+
#
|
|
139
|
+
# @faker.version next
|
|
140
|
+
def tool(simple: false)
|
|
141
|
+
tool = fetch('science.tool')
|
|
142
|
+
return tool if simple
|
|
143
|
+
|
|
144
|
+
# Makes sure the modifier are different
|
|
145
|
+
loop do
|
|
146
|
+
modifier = self.modifier
|
|
147
|
+
break unless tool.start_with?(modifier)
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
"#{modifier} #{tool}"
|
|
151
|
+
end
|
|
44
152
|
end
|
|
45
153
|
end
|
|
46
154
|
end
|
|
@@ -3,38 +3,119 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class SlackEmoji < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces a random slack emoji from people category.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::SlackEmoji.people #=> ":sleepy:"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 1.5.0
|
|
6
15
|
def people
|
|
7
16
|
fetch('slack_emoji.people')
|
|
8
17
|
end
|
|
9
18
|
|
|
19
|
+
##
|
|
20
|
+
# Produces a random slack emoji from nature category.
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::SlackEmoji.nature #=> ":mount_fuji:"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version 1.5.0
|
|
10
28
|
def nature
|
|
11
29
|
fetch('slack_emoji.nature')
|
|
12
30
|
end
|
|
13
31
|
|
|
32
|
+
##
|
|
33
|
+
# Produces a random slack emoji from food and drink category.
|
|
34
|
+
#
|
|
35
|
+
# @return [String]
|
|
36
|
+
#
|
|
37
|
+
# @example
|
|
38
|
+
# Faker::SlackEmoji.food_and_drink #=> ":beers:"
|
|
39
|
+
#
|
|
40
|
+
# @faker.version 1.5.0
|
|
14
41
|
def food_and_drink
|
|
15
42
|
fetch('slack_emoji.food_and_drink')
|
|
16
43
|
end
|
|
17
44
|
|
|
45
|
+
##
|
|
46
|
+
# Produces a random slack emoji from celebration category.
|
|
47
|
+
#
|
|
48
|
+
# @return [String]
|
|
49
|
+
#
|
|
50
|
+
# @example
|
|
51
|
+
# Faker::SlackEmoji.celebration #=> ":tada:"
|
|
52
|
+
#
|
|
53
|
+
# @faker.version 1.5.0
|
|
18
54
|
def celebration
|
|
19
55
|
fetch('slack_emoji.celebration')
|
|
20
56
|
end
|
|
21
57
|
|
|
58
|
+
##
|
|
59
|
+
# Produces a random slack emoji from activity category.
|
|
60
|
+
#
|
|
61
|
+
# @return [String]
|
|
62
|
+
#
|
|
63
|
+
# @example
|
|
64
|
+
# Faker::SlackEmoji.activity #=> ":soccer:"
|
|
65
|
+
#
|
|
66
|
+
# @faker.version 1.5.0
|
|
22
67
|
def activity
|
|
23
68
|
fetch('slack_emoji.activity')
|
|
24
69
|
end
|
|
25
70
|
|
|
71
|
+
##
|
|
72
|
+
# Produces a random slack emoji from travel and places category.
|
|
73
|
+
#
|
|
74
|
+
# @return [String]
|
|
75
|
+
#
|
|
76
|
+
# @example
|
|
77
|
+
# Faker::SlackEmoji.travel_and_places #=> ":metro:"
|
|
78
|
+
#
|
|
79
|
+
# @faker.version 1.5.0
|
|
26
80
|
def travel_and_places
|
|
27
81
|
fetch('slack_emoji.travel_and_places')
|
|
28
82
|
end
|
|
29
83
|
|
|
84
|
+
##
|
|
85
|
+
# Produces a random slack emoji from objects and symbols category.
|
|
86
|
+
#
|
|
87
|
+
# @return [String]
|
|
88
|
+
#
|
|
89
|
+
# @example
|
|
90
|
+
# Faker::SlackEmoji.objects_and_symbols #=> ":id:"
|
|
91
|
+
#
|
|
92
|
+
# @faker.version 1.5.0
|
|
30
93
|
def objects_and_symbols
|
|
31
94
|
fetch('slack_emoji.objects_and_symbols')
|
|
32
95
|
end
|
|
33
96
|
|
|
97
|
+
##
|
|
98
|
+
# Produces a random slack emoji from custom category.
|
|
99
|
+
#
|
|
100
|
+
# @return [String]
|
|
101
|
+
#
|
|
102
|
+
# @example
|
|
103
|
+
# Faker::SlackEmoji.custom #=> ":slack:"
|
|
104
|
+
#
|
|
105
|
+
# @faker.version 1.5.0
|
|
34
106
|
def custom
|
|
35
107
|
fetch('slack_emoji.custom')
|
|
36
108
|
end
|
|
37
109
|
|
|
110
|
+
##
|
|
111
|
+
# Produces a random slack emoji from any category.
|
|
112
|
+
#
|
|
113
|
+
# @return [String]
|
|
114
|
+
#
|
|
115
|
+
# @example
|
|
116
|
+
# Faker::SlackEmoji.emoji #=> ":pizza:"
|
|
117
|
+
#
|
|
118
|
+
# @faker.version 1.5.0
|
|
38
119
|
def emoji
|
|
39
120
|
parse('slack_emoji.emoji')
|
|
40
121
|
end
|
data/lib/faker/default/source.rb
CHANGED
|
@@ -17,11 +17,7 @@ module Faker
|
|
|
17
17
|
# #=> "alert('Hello World!');"
|
|
18
18
|
#
|
|
19
19
|
# @faker.version 1.9.0
|
|
20
|
-
def hello_world(
|
|
21
|
-
warn_for_deprecated_arguments do |keywords|
|
|
22
|
-
keywords << :lang if legacy_lang != NOT_GIVEN
|
|
23
|
-
end
|
|
24
|
-
|
|
20
|
+
def hello_world(lang: :ruby)
|
|
25
21
|
fetch("source.hello_world.#{lang}")
|
|
26
22
|
end
|
|
27
23
|
|
|
@@ -39,13 +35,7 @@ module Faker
|
|
|
39
35
|
# #=> "console.log('foo bar');"
|
|
40
36
|
#
|
|
41
37
|
# @faker.version 1.9.0
|
|
42
|
-
def print(
|
|
43
|
-
warn_for_deprecated_arguments do |keywords|
|
|
44
|
-
keywords << :str if legacy_str != NOT_GIVEN
|
|
45
|
-
end
|
|
46
|
-
warn_for_deprecated_arguments do |keywords|
|
|
47
|
-
keywords << :lang if legacy_lang != NOT_GIVEN
|
|
48
|
-
end
|
|
38
|
+
def print(str: 'some string', lang: :ruby)
|
|
49
39
|
code = fetch("source.print.#{lang}")
|
|
50
40
|
code.gsub('faker_string_to_print', str)
|
|
51
41
|
end
|
|
@@ -65,10 +55,7 @@ module Faker
|
|
|
65
55
|
# # }"
|
|
66
56
|
#
|
|
67
57
|
# @faker.version 1.9.0
|
|
68
|
-
def print_1_to_10(
|
|
69
|
-
warn_for_deprecated_arguments do |keywords|
|
|
70
|
-
keywords << :lang if legacy_lang != NOT_GIVEN
|
|
71
|
-
end
|
|
58
|
+
def print_1_to_10(lang: :ruby)
|
|
72
59
|
fetch("source.print_1_to_10.#{lang}")
|
|
73
60
|
end
|
|
74
61
|
end
|
|
@@ -3,46 +3,136 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class SouthAfrica < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces a South African ID number.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::SouthAfrica.id_number #=> "6110311856083"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 1.9.2
|
|
6
15
|
def id_number
|
|
7
|
-
Faker::
|
|
16
|
+
Faker::IdNumber.south_african_id_number
|
|
8
17
|
end
|
|
9
18
|
|
|
19
|
+
##
|
|
20
|
+
# Produces a valid South African ID number
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::SouthAfrica.valid_id_number #=> "6110311856083"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version 1.9.2
|
|
10
28
|
def valid_id_number
|
|
11
|
-
Faker::
|
|
29
|
+
Faker::IdNumber.valid_south_african_id_number
|
|
12
30
|
end
|
|
13
31
|
|
|
32
|
+
##
|
|
33
|
+
# Produces an invalid South African ID number
|
|
34
|
+
#
|
|
35
|
+
# @return [String]
|
|
36
|
+
#
|
|
37
|
+
# @example
|
|
38
|
+
# Faker::SouthAfrica.invalid_id_number #=> "7018356904081"
|
|
39
|
+
#
|
|
40
|
+
# @faker.version 1.9.2
|
|
14
41
|
def invalid_id_number
|
|
15
|
-
Faker::
|
|
42
|
+
Faker::IdNumber.invalid_south_african_id_number
|
|
16
43
|
end
|
|
17
44
|
|
|
45
|
+
##
|
|
46
|
+
# Produces a South African phone number.
|
|
47
|
+
#
|
|
48
|
+
# @return [String]
|
|
49
|
+
#
|
|
50
|
+
# @example
|
|
51
|
+
# Faker::SouthAfrica.phone_number #=> "010 788 5009"
|
|
52
|
+
#
|
|
53
|
+
# @faker.version 1.9.2
|
|
18
54
|
def phone_number
|
|
19
55
|
with_locale 'en-ZA' do
|
|
20
56
|
Faker::PhoneNumber.phone_number
|
|
21
57
|
end
|
|
22
58
|
end
|
|
23
59
|
|
|
60
|
+
##
|
|
61
|
+
# Produces a South African cell phone number.
|
|
62
|
+
#
|
|
63
|
+
# @return [String]
|
|
64
|
+
#
|
|
65
|
+
# @example
|
|
66
|
+
# Faker::SouthAfrica.cell_phone #=> "082 946 7470"
|
|
67
|
+
#
|
|
68
|
+
# @faker.version 1.9.2
|
|
24
69
|
def cell_phone
|
|
25
70
|
with_locale 'en-ZA' do
|
|
26
71
|
Faker::PhoneNumber.cell_phone
|
|
27
72
|
end
|
|
28
73
|
end
|
|
29
74
|
|
|
75
|
+
##
|
|
76
|
+
# Produces a South African private company registration number.
|
|
77
|
+
#
|
|
78
|
+
# @return [String]
|
|
79
|
+
#
|
|
80
|
+
# @example
|
|
81
|
+
# Faker::SouthAfrica.pty_ltd_registration_number #=> "5301/714689/07"
|
|
82
|
+
#
|
|
83
|
+
# @faker.version 1.9.2
|
|
30
84
|
def pty_ltd_registration_number
|
|
31
85
|
Faker::Company.south_african_pty_ltd_registration_number
|
|
32
86
|
end
|
|
33
87
|
|
|
88
|
+
##
|
|
89
|
+
# Produces a South African close corporation registration number.
|
|
90
|
+
#
|
|
91
|
+
# @return [String]
|
|
92
|
+
#
|
|
93
|
+
# @example
|
|
94
|
+
# Faker::SouthAfrica.close_corporation_registration_number #=> "CK74/7585/23"
|
|
95
|
+
#
|
|
96
|
+
# @faker.version 1.9.2
|
|
34
97
|
def close_corporation_registration_number
|
|
35
98
|
Faker::Company.south_african_close_corporation_registration_number
|
|
36
99
|
end
|
|
37
100
|
|
|
101
|
+
##
|
|
102
|
+
# Produces a South African listed company registration number.
|
|
103
|
+
#
|
|
104
|
+
# @return [String]
|
|
105
|
+
#
|
|
106
|
+
# @example
|
|
107
|
+
# Faker::SouthAfrica.listed_company_registration_number #=> "7039/3135/06"
|
|
108
|
+
#
|
|
109
|
+
# @faker.version 1.9.2
|
|
38
110
|
def listed_company_registration_number
|
|
39
111
|
Faker::Company.south_african_listed_company_registration_number
|
|
40
112
|
end
|
|
41
113
|
|
|
114
|
+
##
|
|
115
|
+
# Produces a South African trust registration number.
|
|
116
|
+
#
|
|
117
|
+
# @return [String]
|
|
118
|
+
#
|
|
119
|
+
# @example
|
|
120
|
+
# Faker::SouthAfrica.trust_registration_number #=> "IT38/6489900"
|
|
121
|
+
#
|
|
122
|
+
# @faker.version 1.9.2
|
|
42
123
|
def trust_registration_number
|
|
43
124
|
Faker::Company.south_african_trust_registration_number
|
|
44
125
|
end
|
|
45
126
|
|
|
127
|
+
##
|
|
128
|
+
# Produces a South African VAT number.
|
|
129
|
+
#
|
|
130
|
+
# @return [String]
|
|
131
|
+
#
|
|
132
|
+
# @example
|
|
133
|
+
# Faker::SouthAfrica.vat_number #=> "ZA79494416181"
|
|
134
|
+
#
|
|
135
|
+
# @faker.version 1.9.2
|
|
46
136
|
def vat_number
|
|
47
137
|
Faker::Finance.vat_number(country: 'ZA')
|
|
48
138
|
end
|
data/lib/faker/default/space.rb
CHANGED
data/lib/faker/default/string.rb
CHANGED
|
@@ -3,11 +3,21 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class String < Base
|
|
5
5
|
class << self
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
##
|
|
7
|
+
# Produces a random UTF-8 string with optional nested length selectors.
|
|
8
|
+
#
|
|
9
|
+
# @param length [Integer, Range, Array<Integer, Range, nil>] The length of produced string and/or specific UTF-8 characters to use.
|
|
10
|
+
# @return [String]
|
|
11
|
+
#
|
|
12
|
+
# @example
|
|
13
|
+
# Faker::String.random #=> "3 뇦\u0017&y\u{3A109}$8^4* 녹豿4좘툢ꔾ쉙6ɉ\uA6 8TN畀챵|\"3쇤Ŵ"
|
|
14
|
+
# Faker::String.random(length: 4) #=> "⼨%0*"
|
|
15
|
+
# Faker::String.random(length: 3..12) #=> "\u{69FDC};秨툫"
|
|
16
|
+
# Faker::String.random(length: [0, 6]) #=> "I轤𣴒P溟L"
|
|
17
|
+
# Faker::String.random(length: [1, (2..5), [3, 6], nil]) #=> "葓L#ћ"
|
|
18
|
+
#
|
|
19
|
+
# @faker.version 1.9.0
|
|
20
|
+
def random(length: 32)
|
|
11
21
|
utf8string select_a length
|
|
12
22
|
end
|
|
13
23
|
|
|
@@ -38,9 +48,9 @@ module Faker
|
|
|
38
48
|
|
|
39
49
|
def utf8character
|
|
40
50
|
sample([
|
|
41
|
-
rand(32..90),
|
|
42
|
-
rand(128),
|
|
43
|
-
rand(0xd800),
|
|
51
|
+
rand(32..90), # latin alphabet
|
|
52
|
+
rand(128), # 7-bit ASCII
|
|
53
|
+
rand(0xd800), # utf-8 codepoints below utf-16 surrogate halves
|
|
44
54
|
rand(57_344..1_114_111) # utf-8 codepoints above utf-16 surrogate halves
|
|
45
55
|
]).chr(Encoding::UTF_8)
|
|
46
56
|
end
|
data/lib/faker/default/stripe.rb
CHANGED
|
@@ -3,11 +3,18 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Stripe < Base
|
|
5
5
|
class << self
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
##
|
|
7
|
+
# Produces a random valid card number.
|
|
8
|
+
#
|
|
9
|
+
# @param card_type [String] Specific valid card type.
|
|
10
|
+
# @return [String]
|
|
11
|
+
#
|
|
12
|
+
# @example
|
|
13
|
+
# Faker::Stripe.valid_card #=> "4242424242424242"
|
|
14
|
+
# Faker::Stripe.valid_card(card_type: "visa_debit") #=> "4000056655665556"
|
|
15
|
+
#
|
|
16
|
+
# @faker.version 1.9.0
|
|
17
|
+
def valid_card(card_type: nil)
|
|
11
18
|
valid_cards = translate('faker.stripe.valid_cards').keys
|
|
12
19
|
|
|
13
20
|
if card_type.nil?
|
|
@@ -19,14 +26,21 @@ module Faker
|
|
|
19
26
|
end
|
|
20
27
|
end
|
|
21
28
|
|
|
22
|
-
fetch(
|
|
29
|
+
fetch("stripe.valid_cards.#{card_type}")
|
|
23
30
|
end
|
|
24
31
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
##
|
|
33
|
+
# Produces a random valid Stripe token.
|
|
34
|
+
#
|
|
35
|
+
# @param card_type [String] Specific valid card type.
|
|
36
|
+
# @return [String]
|
|
37
|
+
#
|
|
38
|
+
# @example
|
|
39
|
+
# Faker::Stripe.valid_token #=> "tok_visa"
|
|
40
|
+
# Faker::Stripe.valid_token(card_type: "mc_debit") #=> "tok_mastercard_debit"
|
|
41
|
+
#
|
|
42
|
+
# @faker.version 1.9.0
|
|
43
|
+
def valid_token(card_type: nil)
|
|
30
44
|
valid_tokens = translate('faker.stripe.valid_tokens').keys
|
|
31
45
|
|
|
32
46
|
if card_type.nil?
|
|
@@ -38,14 +52,20 @@ module Faker
|
|
|
38
52
|
end
|
|
39
53
|
end
|
|
40
54
|
|
|
41
|
-
fetch(
|
|
55
|
+
fetch("stripe.valid_tokens.#{card_type}")
|
|
42
56
|
end
|
|
43
57
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
58
|
+
##
|
|
59
|
+
# Produces a random invalid card number.
|
|
60
|
+
#
|
|
61
|
+
# @return [String]
|
|
62
|
+
#
|
|
63
|
+
# @example
|
|
64
|
+
# Faker::Stripe.invalid_card #=> "4000000000000002"
|
|
65
|
+
# Faker::Stripe.invalid_card(card_error: "addressZipFail") #=> "4000000000000010"
|
|
66
|
+
#
|
|
67
|
+
# @faker.version 1.9.0
|
|
68
|
+
def invalid_card(card_error: nil)
|
|
49
69
|
invalid_cards = translate('faker.stripe.invalid_cards').keys
|
|
50
70
|
|
|
51
71
|
if card_error.nil?
|
|
@@ -57,23 +77,48 @@ module Faker
|
|
|
57
77
|
end
|
|
58
78
|
end
|
|
59
79
|
|
|
60
|
-
fetch(
|
|
80
|
+
fetch("stripe.invalid_cards.#{card_error}")
|
|
61
81
|
end
|
|
62
82
|
|
|
83
|
+
##
|
|
84
|
+
# Produces a random month in two digits format.
|
|
85
|
+
#
|
|
86
|
+
# @return [String]
|
|
87
|
+
#
|
|
88
|
+
# @example
|
|
89
|
+
# Faker::Stripe.month #=> "10"
|
|
90
|
+
#
|
|
91
|
+
# @faker.version 1.9.0
|
|
63
92
|
def month
|
|
64
93
|
format('%02d', rand_in_range(1, 12))
|
|
65
94
|
end
|
|
66
95
|
|
|
96
|
+
##
|
|
97
|
+
# Produces a random year that is always in the future.
|
|
98
|
+
#
|
|
99
|
+
# @return [String]
|
|
100
|
+
#
|
|
101
|
+
# @example
|
|
102
|
+
# Faker::Stripe.year #=> "2018" # This will always be a year in the future
|
|
103
|
+
#
|
|
104
|
+
# @faker.version 1.9.0
|
|
67
105
|
def year
|
|
68
106
|
start_year = ::Time.new.year + 1
|
|
69
107
|
rand_in_range(start_year, start_year + 5).to_s
|
|
70
108
|
end
|
|
71
109
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
110
|
+
##
|
|
111
|
+
# Produces a random ccv number.
|
|
112
|
+
#
|
|
113
|
+
# @param card_type [String] Specific valid card type.
|
|
114
|
+
# @return [String]
|
|
115
|
+
#
|
|
116
|
+
# @example
|
|
117
|
+
# Faker::Stripe.ccv #=> "123"
|
|
118
|
+
# Faker::Stripe.ccv(card_type: "amex") #=> "1234"
|
|
119
|
+
#
|
|
120
|
+
# @faker.version 1.9.0
|
|
121
|
+
def ccv(card_type: nil)
|
|
77
122
|
(card_type.to_s == 'amex' ? rand_in_range(1000, 9999) : rand_in_range(100, 999)).to_s
|
|
78
123
|
end
|
|
79
124
|
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
class Tea < Base
|
|
5
|
+
flexible :tea
|
|
6
|
+
|
|
7
|
+
class << self
|
|
8
|
+
##
|
|
9
|
+
# Produces a random variety or blend of tea.
|
|
10
|
+
#
|
|
11
|
+
# @param type [String, nil] the type of tea to query for (valid types: 'Black', 'Green', 'Oolong', 'White', and 'Herbal')
|
|
12
|
+
# @return [String] a variety of tea
|
|
13
|
+
#
|
|
14
|
+
# @example
|
|
15
|
+
# Faker::Tea.variety
|
|
16
|
+
# #=> "Earl Grey"
|
|
17
|
+
#
|
|
18
|
+
# @example
|
|
19
|
+
# Faker::Tea.variety(type: 'Green')
|
|
20
|
+
# #=> "Jasmine"
|
|
21
|
+
# @faker.version next
|
|
22
|
+
def variety(type: nil)
|
|
23
|
+
type ||= fetch('tea.type')
|
|
24
|
+
fetch "tea.variety.#{type.downcase}"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
##
|
|
28
|
+
# Produces a random type of tea.
|
|
29
|
+
#
|
|
30
|
+
# @return [String] a type of tea
|
|
31
|
+
#
|
|
32
|
+
# @example
|
|
33
|
+
# Faker::Tea.type
|
|
34
|
+
# #=> "Green"
|
|
35
|
+
# @faker.version next
|
|
36
|
+
def type
|
|
37
|
+
fetch 'tea.type'
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|