faker 2.10.2 → 2.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +323 -0
- data/README.md +27 -2
- data/lib/faker.rb +57 -25
- data/lib/faker/blockchain/aeternity.rb +4 -4
- data/lib/faker/books/dune.rb +15 -2
- data/lib/faker/books/lovecraft.rb +8 -4
- data/lib/faker/default/address.rb +35 -5
- data/lib/faker/default/bank.rb +80 -3
- data/lib/faker/default/barcode.rb +154 -0
- data/lib/faker/default/beer.rb +3 -3
- data/lib/faker/default/blood.rb +48 -0
- data/lib/faker/default/business.rb +1 -1
- data/lib/faker/default/camera.rb +46 -0
- data/lib/faker/default/cannabis.rb +80 -0
- data/lib/faker/default/chile_rut.rb +47 -3
- data/lib/faker/default/code.rb +98 -17
- data/lib/faker/default/commerce.rb +74 -11
- data/lib/faker/default/company.rb +78 -11
- 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_coin.rb +45 -0
- data/lib/faker/default/date.rb +16 -12
- data/lib/faker/default/driving_licence.rb +65 -0
- data/lib/faker/default/drone.rb +332 -0
- data/lib/faker/default/faker_adjective.rb +35 -0
- data/lib/faker/default/file.rb +49 -0
- data/lib/faker/default/finance.rb +45 -0
- data/lib/faker/default/food.rb +1 -1
- data/lib/faker/default/funny_name.rb +45 -0
- data/lib/faker/default/gender.rb +1 -1
- data/lib/faker/default/hipster.rb +101 -4
- data/lib/faker/default/id_number.rb +88 -2
- data/lib/faker/default/internet.rb +68 -10
- data/lib/faker/default/internet_http.rb +48 -0
- data/lib/faker/default/invoice.rb +33 -6
- data/lib/faker/default/json.rb +59 -4
- data/lib/faker/default/lorem.rb +2 -2
- data/lib/faker/default/lorem_flickr.rb +65 -0
- data/lib/faker/default/lorem_pixel.rb +22 -0
- data/lib/faker/default/markdown.rb +89 -0
- data/lib/faker/default/measurement.rb +93 -2
- data/lib/faker/default/military.rb +26 -0
- data/lib/faker/default/mountain.rb +33 -0
- data/lib/faker/default/name.rb +98 -0
- data/lib/faker/default/nhs.rb +19 -0
- data/lib/faker/default/number.rb +6 -8
- data/lib/faker/default/omniauth.rb +107 -52
- data/lib/faker/default/phone_number.rb +88 -5
- data/lib/faker/default/placeholdit.rb +21 -0
- data/lib/faker/default/relationship.rb +1 -1
- data/lib/faker/default/slack_emoji.rb +81 -0
- data/lib/faker/default/south_africa.rb +90 -0
- data/lib/faker/default/space.rb +1 -1
- data/lib/faker/default/string.rb +19 -3
- data/lib/faker/default/stripe.rb +64 -3
- data/lib/faker/default/twitter.rb +35 -0
- data/lib/faker/default/types.rb +80 -0
- data/lib/faker/default/university.rb +45 -0
- data/lib/faker/default/vehicle.rb +184 -4
- data/lib/faker/default/verb.rb +45 -0
- data/lib/faker/default/world_cup.rb +4 -4
- 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 +136 -0
- 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/street_fighter.rb +61 -0
- data/lib/faker/games/super_mario.rb +48 -0
- data/lib/faker/games/warhammer_fantasy.rb +74 -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/doraemon.rb +48 -0
- data/lib/faker/japanese_media/dragon_ball.rb +26 -0
- data/lib/faker/japanese_media/naruto.rb +61 -0
- data/lib/faker/japanese_media/studio_ghibli.rb +48 -0
- data/lib/faker/movies/departed.rb +49 -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 +2 -2
- data/lib/faker/music/hiphop.rb +48 -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/rush.rb +37 -0
- data/lib/faker/music/show.rb +49 -0
- data/lib/faker/quotes/chiquito.rb +80 -0
- data/lib/faker/quotes/quote.rb +80 -1
- data/lib/faker/quotes/rajnikanth.rb +26 -0
- data/lib/faker/quotes/shakespeare.rb +36 -0
- data/lib/faker/sports/volleyball.rb +74 -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/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/simpsons.rb +14 -0
- data/lib/faker/tv_shows/suits.rb +37 -0
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +17 -4
- data/lib/faker/version.rb +1 -1
- data/lib/helpers/base58.rb +1 -1
- data/lib/helpers/char.rb +22 -27
- data/lib/helpers/unique_generator.rb +3 -2
- data/lib/locales/de-AT.yml +4 -2
- data/lib/locales/de-CH.yml +1696 -1
- data/lib/locales/de.yml +4 -2
- data/lib/locales/en-AU.yml +50 -10
- data/lib/locales/en-CA.yml +2 -0
- data/lib/locales/en-GB.yml +1 -1
- data/lib/locales/en-IND.yml +2 -1
- data/lib/locales/en-MS.yml +2 -1
- data/lib/locales/en-NEP.yml +4 -1
- data/lib/locales/en-NZ.yml +3 -1
- data/lib/locales/en-PAK.yml +2 -1
- data/lib/locales/en-SG.yml +2 -1
- data/lib/locales/en-US.yml +36 -10
- data/lib/locales/en-au-ocker.yml +2 -1
- data/lib/locales/en.yml +0 -3
- data/lib/locales/en/address.yml +2 -0
- data/lib/locales/en/adjective.yml +179 -0
- data/lib/locales/en/animal.yml +1 -1
- data/lib/locales/en/aqua_teen_hunger_force.yml +33 -1
- data/lib/locales/en/bank.yml +1 -1
- data/lib/locales/en/barcode.yml +24 -0
- data/lib/locales/en/big_bang_theory.yml +38 -0
- data/lib/locales/en/blood.yml +13 -0
- data/lib/locales/en/buffy.yml +1 -1
- data/lib/locales/en/camera.yml +611 -0
- data/lib/locales/en/chiquito.yml +64 -0
- data/lib/locales/en/clash_of_clan.yml +101 -0
- data/lib/locales/en/company.yml +2 -2
- data/lib/locales/en/computer.yml +36 -0
- data/lib/locales/en/conan.yml +171 -0
- data/lib/locales/en/control.yml +247 -0
- data/lib/locales/en/demographic.yml +218 -5
- data/lib/locales/en/departed.yml +50 -0
- data/lib/locales/en/dnd.yml +451 -0
- data/lib/locales/en/doraemon.yml +286 -0
- data/lib/locales/en/dota.yml +531 -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 +401 -131
- data/lib/locales/en/elder_scrolls.yml +583 -9
- data/lib/locales/en/fallout.yml +311 -133
- data/lib/locales/en/final_space.yml +37 -0
- data/lib/locales/en/finance.yml +53 -0
- data/lib/locales/en/fresh_prince_of_bel_air.yml +1 -1
- data/lib/locales/en/futurama.yml +344 -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/house.yml +1 -1
- data/lib/locales/en/how_to_train_your_dragon.yml +174 -0
- data/lib/locales/en/jack_handey.yml +54 -0
- data/lib/locales/en/league_of_legends.yml +285 -6
- data/lib/locales/en/military.yml +179 -5
- data/lib/locales/en/minecraft.yml +663 -0
- data/lib/locales/en/mountain.yml +158 -0
- data/lib/locales/en/movie.yml +192 -1
- data/lib/locales/en/music.yml +451 -29
- data/lib/locales/en/myst.yml +87 -31
- data/lib/locales/en/name.yml +6 -5
- data/lib/locales/en/naruto.yml +231 -0
- data/lib/locales/en/one_piece.yml +2 -2
- data/lib/locales/en/opera.yml +168 -0
- data/lib/locales/en/overwatch.yml +2650 -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/rajnikanth.yml +77 -0
- data/lib/locales/en/room.yml +68 -0
- data/lib/locales/en/rush.yml +32 -0
- data/lib/locales/en/show.yml +597 -0
- data/lib/locales/en/simpsons.yml +668 -0
- data/lib/locales/en/source.yml +30 -0
- data/lib/locales/en/star_trek.yml +1 -1
- data/lib/locales/en/star_wars.yml +568 -220
- 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 +16 -4
- data/lib/locales/en/tolkien.yml +2453 -0
- data/lib/locales/en/volleyball.yml +501 -0
- data/lib/locales/en/warhammer_fantasy.yml +582 -0
- data/lib/locales/en/witcher.yml +389 -7
- data/lib/locales/en/world_of_warcraft.yml +122 -4
- data/lib/locales/en/zelda.yml +962 -4
- data/lib/locales/es.yml +56 -0
- data/lib/locales/fi-FI.yml +1 -1
- data/lib/locales/fr-CA.yml +21 -5
- data/lib/locales/fr-CH.yml +2 -2
- data/lib/locales/fr.yml +8 -2
- data/lib/locales/id.yml +2 -1
- data/lib/locales/it.yml +2 -1
- data/lib/locales/ja.yml +5 -1
- data/lib/locales/ko.yml +94 -2
- data/lib/locales/nb-NO.yml +4 -2
- data/lib/locales/pt-BR.yml +2 -1
- data/lib/locales/pt.yml +3 -1
- data/lib/locales/ru.yml +3 -1
- data/lib/locales/sk.yml +4 -2
- data/lib/locales/uk.yml +2 -0
- metadata +89 -21
- data/lib/locales/en/hobbit.yml +0 -19
- data/lib/locales/en/lord_of_the_rings.yml +0 -6
@@ -3,43 +3,126 @@
|
|
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
|
-
#
|
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] Speficies 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
|
43
126
|
def subscriber_number(legacy_length = NOT_GIVEN, length: 4)
|
44
127
|
warn_for_deprecated_arguments do |keywords|
|
45
128
|
keywords << :length if legacy_length != NOT_GIVEN
|
@@ -5,6 +5,27 @@ module Faker
|
|
5
5
|
class << self
|
6
6
|
SUPPORTED_FORMATS = %w[png jpg gif jpeg].freeze
|
7
7
|
|
8
|
+
##
|
9
|
+
# Produces a random placeholder image from https://placehold.it.
|
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://placehold.it/300x300.png"
|
21
|
+
# Faker::Placeholdit.image(size: '50x50') #=> "https://placehold.it/50x50.png"
|
22
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpg') #=> "https://placehold.it/50x50.jpg"
|
23
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'gif', background_color: 'ffffff') #=> "https://placehold.it/50x50.gif/ffffff"
|
24
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpeg', background_color: :random) #=> "https://placehold.it/50x50.jpeg/39eba7"
|
25
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpeg', background_color: 'ffffff', text_color: '000') #=> "https://placehold.it/50x50.jpeg/ffffff/000"
|
26
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpg', background_color: 'ffffff', text_color: '000', text: 'Some Custom Text') #=> "https://placehold.it/50x50.jpg/ffffff/000?text=Some Custom Text"
|
27
|
+
#
|
28
|
+
# @faker.version 1.6.0
|
8
29
|
# rubocop:disable Metrics/ParameterLists
|
9
30
|
def image(legacy_size = NOT_GIVEN, legacy_format = NOT_GIVEN, legacy_background_color = NOT_GIVEN, legacy_text_color = NOT_GIVEN, legacy_text = NOT_GIVEN, size: '300x300', format: 'png', background_color: nil, text_color: nil, text: nil)
|
10
31
|
# rubocop:enable Metrics/ParameterLists
|
@@ -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
|
@@ -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,6 +3,22 @@
|
|
3
3
|
module Faker
|
4
4
|
class String < Base
|
5
5
|
class << self
|
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
|
+
# rubocop:disable Style/AsciiComments
|
14
|
+
# Faker::String.random #=> "3 뇦\u0017&y\u{3A109}$8^4* 녹豿4좘툢ꔾ쉙6ɉ\uA6 8TN畀챵|\"3쇤Ŵ"
|
15
|
+
# Faker::String.random(length: 4) #=> "⼨%0*"
|
16
|
+
# Faker::String.random(length: 3..12) #=> "\u{69FDC};秨툫"
|
17
|
+
# Faker::String.random(length: [0, 6]) #=> "I轤𣴒P溟L"
|
18
|
+
# Faker::String.random(length: [1, (2..5), [3, 6], nil]) #=> "葓L#ћ"
|
19
|
+
# rubocop:enable Style/AsciiComments
|
20
|
+
#
|
21
|
+
# @faker.version 1.9.0
|
6
22
|
def random(legacy_length = NOT_GIVEN, length: 32)
|
7
23
|
warn_for_deprecated_arguments do |keywords|
|
8
24
|
keywords << :length if legacy_length != NOT_GIVEN
|
@@ -38,9 +54,9 @@ module Faker
|
|
38
54
|
|
39
55
|
def utf8character
|
40
56
|
sample([
|
41
|
-
rand(32..90),
|
42
|
-
rand(128),
|
43
|
-
rand(0xd800),
|
57
|
+
rand(32..90), # latin alphabet
|
58
|
+
rand(128), # 7-bit ASCII
|
59
|
+
rand(0xd800), # utf-8 codepoints below utf-16 surrogate halves
|
44
60
|
rand(57_344..1_114_111) # utf-8 codepoints above utf-16 surrogate halves
|
45
61
|
]).chr(Encoding::UTF_8)
|
46
62
|
end
|