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
|
@@ -3,48 +3,127 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class PhoneNumber < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces a random phone number in a random format (may or may not have a country code, extension and can have different dividers).
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::PhoneNumber.phone_number #=> "397.693.1309 x4321"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 0.3.0
|
|
6
15
|
def phone_number
|
|
7
16
|
parse('phone_number.formats')
|
|
8
17
|
end
|
|
9
18
|
|
|
19
|
+
##
|
|
20
|
+
# Produces a random cell phone number in a random format (may or may not have a country code and can have different dividers).
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::PhoneNumber.cell_phone #=> "(186)285-7925"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version 1.0.0
|
|
10
28
|
def cell_phone
|
|
11
29
|
parse('cell_phone.formats')
|
|
12
30
|
end
|
|
13
31
|
|
|
32
|
+
##
|
|
33
|
+
# Produces a random country code.
|
|
34
|
+
#
|
|
35
|
+
# @return [String]
|
|
36
|
+
#
|
|
37
|
+
# @example
|
|
38
|
+
# Faker::PhoneNumber.country_code #=> "+20"
|
|
39
|
+
#
|
|
40
|
+
# @faker.version 1.9.2
|
|
14
41
|
def country_code
|
|
15
42
|
"+#{fetch('country_code')}"
|
|
16
43
|
end
|
|
17
44
|
|
|
45
|
+
##
|
|
46
|
+
# Produces a random phone number with country code.
|
|
47
|
+
#
|
|
48
|
+
# @return [String]
|
|
49
|
+
#
|
|
50
|
+
# @example
|
|
51
|
+
# Faker::PhoneNumber.phone_number_with_country_code #=> "+95 1-672-173-8153"
|
|
52
|
+
#
|
|
53
|
+
# @faker.version 1.9.2
|
|
18
54
|
def phone_number_with_country_code
|
|
19
55
|
"#{country_code} #{phone_number}"
|
|
20
56
|
end
|
|
21
57
|
|
|
58
|
+
##
|
|
59
|
+
# Produces a random cell phone number with country code.
|
|
60
|
+
#
|
|
61
|
+
# @return [String]
|
|
62
|
+
#
|
|
63
|
+
# @example
|
|
64
|
+
# Faker::PhoneNumber.cell_phone_with_country_code #=> "+974 (190) 987-9034"
|
|
65
|
+
#
|
|
66
|
+
# @faker.version 1.9.2
|
|
22
67
|
def cell_phone_with_country_code
|
|
23
68
|
"#{country_code} #{cell_phone}"
|
|
24
69
|
end
|
|
25
70
|
|
|
26
|
-
|
|
71
|
+
##
|
|
72
|
+
# Produces a random phone number in e164 format.
|
|
73
|
+
#
|
|
74
|
+
# @return [String]
|
|
75
|
+
#
|
|
76
|
+
# @example
|
|
77
|
+
# Faker::PhoneNumber.cell_phone_in_e164 #=> "+944937040625"
|
|
78
|
+
#
|
|
79
|
+
# @faker.version 1.9.2
|
|
80
|
+
def cell_phone_in_e164
|
|
81
|
+
cell_phone_with_country_code.delete('^+0-9')
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
##
|
|
85
|
+
# Produces a random US or Canada-based area code.
|
|
86
|
+
#
|
|
87
|
+
# @return [String]
|
|
88
|
+
#
|
|
89
|
+
# @example
|
|
90
|
+
# Faker::PhoneNumber.area_code #=> "201"
|
|
91
|
+
#
|
|
92
|
+
# @faker.version 1.3.0
|
|
27
93
|
def area_code
|
|
28
94
|
fetch('phone_number.area_code')
|
|
29
95
|
rescue I18n::MissingTranslationData
|
|
30
96
|
nil
|
|
31
97
|
end
|
|
32
98
|
|
|
33
|
-
|
|
99
|
+
##
|
|
100
|
+
# Produces a random US or Canada-based exchange code.
|
|
101
|
+
#
|
|
102
|
+
# @return [String]
|
|
103
|
+
#
|
|
104
|
+
# @example
|
|
105
|
+
# Faker::PhoneNumber.exchange_code #=> "208"
|
|
106
|
+
#
|
|
107
|
+
# @faker.version 1.3.0
|
|
34
108
|
def exchange_code
|
|
35
109
|
fetch('phone_number.exchange_code')
|
|
36
110
|
rescue I18n::MissingTranslationData
|
|
37
111
|
nil
|
|
38
112
|
end
|
|
39
113
|
|
|
40
|
-
|
|
41
|
-
# Can be used for both extensions and last four digits of phone number.
|
|
42
|
-
#
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
114
|
+
##
|
|
115
|
+
# Produces a random US or Canada-based extension / subscriber number. Can be used for both extensions and last four digits of phone number.
|
|
116
|
+
#
|
|
117
|
+
# @param length [Integer] Specifies the length of the return value.
|
|
118
|
+
# @return [String]
|
|
119
|
+
#
|
|
120
|
+
# @example
|
|
121
|
+
# Faker::PhoneNumber.subscriber_number #=> "3873"
|
|
122
|
+
# Faker::PhoneNumber.subscriber_number(length: 2) #=> "39"
|
|
123
|
+
# Faker::PhoneNumber.extension #=> "3764"
|
|
124
|
+
#
|
|
125
|
+
# @faker.version 1.3.0
|
|
126
|
+
def subscriber_number(length: 4)
|
|
48
127
|
rand.to_s[2..(1 + length)]
|
|
49
128
|
end
|
|
50
129
|
|
|
@@ -5,17 +5,28 @@ module Faker
|
|
|
5
5
|
class << self
|
|
6
6
|
SUPPORTED_FORMATS = %w[png jpg gif jpeg].freeze
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
##
|
|
9
|
+
# Produces a random placeholder image from https://via.placeholder.com.
|
|
10
|
+
#
|
|
11
|
+
# @param size [String] Specifies the image's size, dimensions separated by 'x'.
|
|
12
|
+
# @param format [String] Specifies the image's extension.
|
|
13
|
+
# @param background_color [String, Symbol] Specifies the background color, either in hexadecimal format (without #) or as :random.
|
|
14
|
+
# @param text_color [String, Symbol] Specifies the text color, either in hexadecimal format (without #) or as :random.
|
|
15
|
+
# @param text [String] Specifies a custom text to be used.
|
|
16
|
+
# @return [String]
|
|
17
|
+
#
|
|
18
|
+
# @example
|
|
19
|
+
# # Keyword arguments: size, format, background_color, text_color, text
|
|
20
|
+
# Faker::Placeholdit.image #=> "https://via.placeholder.com/300x300.png"
|
|
21
|
+
# Faker::Placeholdit.image(size: '50x50') #=> "https://via.placeholder.com/50x50.png"
|
|
22
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpg') #=> "https://via.placeholder.com/50x50.jpg"
|
|
23
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'gif', background_color: 'ffffff') #=> "https://via.placeholder.com/50x50.gif/ffffff"
|
|
24
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpeg', background_color: :random) #=> "https://via.placeholder.com/50x50.jpeg/39eba7"
|
|
25
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpeg', background_color: 'ffffff', text_color: '000') #=> "https://via.placeholder.com/50x50.jpeg/ffffff/000"
|
|
26
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpg', background_color: 'ffffff', text_color: '000', text: 'Some Custom Text') #=> "https://via.placeholder.com/50x50.jpg/ffffff/000?text=Some Custom Text"
|
|
27
|
+
#
|
|
28
|
+
# @faker.version 1.6.0
|
|
29
|
+
def image(size: '300x300', format: 'png', background_color: nil, text_color: nil, text: nil)
|
|
19
30
|
background_color = generate_color if background_color == :random
|
|
20
31
|
text_color = generate_color if text_color == :random
|
|
21
32
|
|
|
@@ -24,7 +35,7 @@ module Faker
|
|
|
24
35
|
raise ArgumentError, "background_color must be a hex value without '#'" unless background_color.nil? || background_color =~ /((?:^\h{3}$)|(?:^\h{6}$)){1}(?!.*\H)/
|
|
25
36
|
raise ArgumentError, "text_color must be a hex value without '#'" unless text_color.nil? || text_color =~ /((?:^\h{3}$)|(?:^\h{6}$)){1}(?!.*\H)/
|
|
26
37
|
|
|
27
|
-
image_url = "https://
|
|
38
|
+
image_url = "https://via.placeholder.com/#{size}.#{format}"
|
|
28
39
|
image_url += "/#{background_color}" if background_color
|
|
29
40
|
image_url += "/#{text_color}" if text_color
|
|
30
41
|
image_url += "?text=#{text}" if text
|
|
@@ -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
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
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
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
|