faker 2.11.0 → 2.18.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 +421 -13
- data/History.md +4 -4
- data/README.md +33 -3
- data/lib/faker.rb +28 -23
- data/lib/faker/blockchain/aeternity.rb +4 -4
- data/lib/faker/blockchain/bitcoin.rb +2 -2
- data/lib/faker/blockchain/tezos.rb +30 -2
- data/lib/faker/books/dune.rb +15 -2
- data/lib/faker/books/lovecraft.rb +8 -4
- data/lib/faker/creature/bird.rb +203 -0
- data/lib/faker/default/address.rb +35 -5
- data/lib/faker/default/app.rb +1 -1
- data/lib/faker/default/avatar.rb +1 -1
- data/lib/faker/default/bank.rb +96 -3
- 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/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 +47 -3
- data/lib/faker/default/chuck_norris.rb +1 -0
- data/lib/faker/default/code.rb +98 -17
- data/lib/faker/default/commerce.rb +74 -11
- data/lib/faker/default/company.rb +96 -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.rb +17 -4
- data/lib/faker/default/crypto_coin.rb +45 -0
- data/lib/faker/default/date.rb +16 -12
- data/lib/faker/default/driving_licence.rb +67 -1
- data/lib/faker/default/drone.rb +332 -0
- data/lib/faker/default/educator.rb +13 -0
- data/lib/faker/default/faker_adjective.rb +35 -0
- data/lib/faker/default/file.rb +53 -2
- data/lib/faker/default/finance.rb +45 -0
- data/lib/faker/default/food.rb +1 -1
- data/lib/faker/default/gender.rb +1 -1
- data/lib/faker/default/hipster.rb +107 -10
- data/lib/faker/default/id_number.rb +122 -2
- data/lib/faker/default/internet.rb +266 -12
- data/lib/faker/default/internet_http.rb +48 -0
- data/lib/faker/default/invoice.rb +33 -6
- data/lib/faker/default/json.rb +61 -5
- data/lib/faker/default/lorem.rb +160 -5
- data/lib/faker/default/lorem_flickr.rb +67 -7
- data/lib/faker/default/lorem_pixel.rb +23 -0
- data/lib/faker/default/markdown.rb +91 -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 +28 -13
- data/lib/faker/default/omniauth.rb +62 -14
- data/lib/faker/default/phone_number.rb +88 -5
- data/lib/faker/default/placeholdit.rb +23 -1
- data/lib/faker/default/relationship.rb +1 -1
- data/lib/faker/default/science.rb +26 -0
- 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 +20 -3
- data/lib/faker/default/stripe.rb +64 -3
- data/lib/faker/default/tea.rb +41 -0
- data/lib/faker/default/twitter.rb +35 -0
- data/lib/faker/default/types.rb +84 -3
- 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/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/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 +74 -2
- 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 +80 -1
- data/lib/faker/quotes/rajnikanth.rb +1 -0
- data/lib/faker/quotes/shakespeare.rb +70 -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 +0 -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 +37 -11
- 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/bird.yml +1281 -0
- data/lib/locales/en/blood.yml +13 -0
- data/lib/locales/en/book.yml +487 -3
- data/lib/locales/en/buffy.yml +1 -1
- data/lib/locales/en/camera.yml +611 -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/device.yml +112 -4
- 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 +270 -131
- data/lib/locales/en/educator.yml +6 -0
- 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/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/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/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/mountain.yml +158 -0
- data/lib/locales/en/movie.yml +192 -1
- 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 +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/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 +355 -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 +30 -0
- data/lib/locales/en/space.yml +1 -1
- 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 +18 -4
- data/lib/locales/en/tea.yml +172 -0
- data/lib/locales/en/tolkien.yml +2453 -0
- data/lib/locales/en/touhou.yml +839 -0
- 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/es-AR.yml +4603 -0
- 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 +1 -113
- data/lib/locales/fr/address.yml +21 -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 +9 -0
- data/lib/locales/id.yml +3 -1
- data/lib/locales/it.yml +2 -1
- data/lib/locales/ja/README.md +13 -0
- data/lib/locales/ja/address.yml +17 -0
- data/lib/locales/ja/ancient.yml +4 -0
- data/lib/locales/ja/bank.yml +4 -0
- data/lib/locales/ja/book.yml +7 -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/creature.yml +9 -0
- data/lib/locales/ja/food.yml +4 -0
- data/lib/locales/ja/games.yml +18 -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/phone_number.yml +7 -0
- data/lib/locales/ja/restaurant.yml +11 -0
- data/lib/locales/ja/space.yml +5 -0
- data/lib/locales/ja/subscription.yml +8 -0
- data/lib/locales/ja/university.yml +9 -0
- data/lib/locales/ko.yml +94 -2
- data/lib/locales/nb-NO.yml +4 -2
- data/lib/locales/pt-BR.yml +3 -1
- data/lib/locales/pt.yml +3 -1
- data/lib/locales/ru.yml +42 -1
- data/lib/locales/sk.yml +4 -2
- data/lib/locales/uk.yml +2 -0
- metadata +133 -24
- 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
@@ -6,8 +6,29 @@ module Faker
|
|
6
6
|
SUPPORTED_FORMATS = %w[png jpg gif jpeg].freeze
|
7
7
|
|
8
8
|
# rubocop:disable Metrics/ParameterLists
|
9
|
+
|
10
|
+
##
|
11
|
+
# Produces a random placeholder image from https://placehold.it.
|
12
|
+
#
|
13
|
+
# @param size [String] Specifies the image's size, dimensions separated by 'x'.
|
14
|
+
# @param format [String] Specifies the image's extension.
|
15
|
+
# @param background_color [String, Symbol] Specifies the background color, either in hexadecimal format (without #) or as :random.
|
16
|
+
# @param text_color [String, Symbol] Specifies the text color, either in hexadecimal format (without #) or as :random.
|
17
|
+
# @param text [String] Specifies a custom text to be used.
|
18
|
+
# @return [String]
|
19
|
+
#
|
20
|
+
# @example
|
21
|
+
# # Keyword arguments: size, format, background_color, text_color, text
|
22
|
+
# Faker::Placeholdit.image #=> "https://placehold.it/300x300.png"
|
23
|
+
# Faker::Placeholdit.image(size: '50x50') #=> "https://placehold.it/50x50.png"
|
24
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpg') #=> "https://placehold.it/50x50.jpg"
|
25
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'gif', background_color: 'ffffff') #=> "https://placehold.it/50x50.gif/ffffff"
|
26
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpeg', background_color: :random) #=> "https://placehold.it/50x50.jpeg/39eba7"
|
27
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpeg', background_color: 'ffffff', text_color: '000') #=> "https://placehold.it/50x50.jpeg/ffffff/000"
|
28
|
+
# 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"
|
29
|
+
#
|
30
|
+
# @faker.version 1.6.0
|
9
31
|
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
|
-
# rubocop:enable Metrics/ParameterLists
|
11
32
|
warn_for_deprecated_arguments do |keywords|
|
12
33
|
keywords << :size if legacy_size != NOT_GIVEN
|
13
34
|
keywords << :format if legacy_format != NOT_GIVEN
|
@@ -30,6 +51,7 @@ module Faker
|
|
30
51
|
image_url += "?text=#{text}" if text
|
31
52
|
image_url
|
32
53
|
end
|
54
|
+
# rubocop:enable Metrics/ParameterLists
|
33
55
|
|
34
56
|
private
|
35
57
|
|
@@ -29,6 +29,32 @@ module Faker
|
|
29
29
|
fetch('science.element_symbol')
|
30
30
|
end
|
31
31
|
|
32
|
+
##
|
33
|
+
# Produces the state of an element.
|
34
|
+
#
|
35
|
+
# @return [String]
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# Faker::Science.element_state #=> "Liquid"
|
39
|
+
#
|
40
|
+
# @faker.version next
|
41
|
+
def element_state
|
42
|
+
fetch('science.element_state')
|
43
|
+
end
|
44
|
+
|
45
|
+
##
|
46
|
+
# Produces the subcategory of an element.
|
47
|
+
#
|
48
|
+
# @return [String]
|
49
|
+
#
|
50
|
+
# @example
|
51
|
+
# Faker::Science.element_subcategory #=> "Reactive nonmetal"
|
52
|
+
#
|
53
|
+
# @faker.version next
|
54
|
+
def element_subcategory
|
55
|
+
fetch('science.element_subcategory')
|
56
|
+
end
|
57
|
+
|
32
58
|
##
|
33
59
|
# Produces the name of a scientist.
|
34
60
|
#
|
@@ -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
|
+
# rubocop:disable Style/AsciiComments
|
7
|
+
|
8
|
+
##
|
9
|
+
# Produces a random UTF-8 string with optional nested length selectors.
|
10
|
+
#
|
11
|
+
# @param length [Integer, Range, Array<Integer, Range, nil>] The length of produced string and/or specific UTF-8 characters to use.
|
12
|
+
# @return [String]
|
13
|
+
#
|
14
|
+
# @example
|
15
|
+
# Faker::String.random #=> "3 뇦\u0017&y\u{3A109}$8^4* 녹豿4좘툢ꔾ쉙6ɉ\uA6 8TN畀챵|\"3쇤Ŵ"
|
16
|
+
# Faker::String.random(length: 4) #=> "⼨%0*"
|
17
|
+
# Faker::String.random(length: 3..12) #=> "\u{69FDC};秨툫"
|
18
|
+
# Faker::String.random(length: [0, 6]) #=> "I轤𣴒P溟L"
|
19
|
+
# Faker::String.random(length: [1, (2..5), [3, 6], nil]) #=> "葓L#ћ"
|
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
|
@@ -10,6 +26,7 @@ module Faker
|
|
10
26
|
|
11
27
|
utf8string select_a length
|
12
28
|
end
|
29
|
+
# rubocop:enable Style/AsciiComments
|
13
30
|
|
14
31
|
private
|
15
32
|
|
@@ -38,9 +55,9 @@ module Faker
|
|
38
55
|
|
39
56
|
def utf8character
|
40
57
|
sample([
|
41
|
-
rand(32..90),
|
42
|
-
rand(128),
|
43
|
-
rand(0xd800),
|
58
|
+
rand(32..90), # latin alphabet
|
59
|
+
rand(128), # 7-bit ASCII
|
60
|
+
rand(0xd800), # utf-8 codepoints below utf-16 surrogate halves
|
44
61
|
rand(57_344..1_114_111) # utf-8 codepoints above utf-16 surrogate halves
|
45
62
|
]).chr(Encoding::UTF_8)
|
46
63
|
end
|
data/lib/faker/default/stripe.rb
CHANGED
@@ -3,6 +3,17 @@
|
|
3
3
|
module Faker
|
4
4
|
class Stripe < Base
|
5
5
|
class << self
|
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
|
6
17
|
def valid_card(legacy_card_type = NOT_GIVEN, card_type: nil)
|
7
18
|
warn_for_deprecated_arguments do |keywords|
|
8
19
|
keywords << :card_type if legacy_card_type != NOT_GIVEN
|
@@ -19,9 +30,20 @@ module Faker
|
|
19
30
|
end
|
20
31
|
end
|
21
32
|
|
22
|
-
fetch(
|
33
|
+
fetch("stripe.valid_cards.#{card_type}")
|
23
34
|
end
|
24
35
|
|
36
|
+
##
|
37
|
+
# Produces a random valid Stripe token.
|
38
|
+
#
|
39
|
+
# @param card_type [String] Specific valid card type.
|
40
|
+
# @return [String]
|
41
|
+
#
|
42
|
+
# @example
|
43
|
+
# Faker::Stripe.valid_token #=> "tok_visa"
|
44
|
+
# Faker::Stripe.valid_token(card_type: "mc_debit") #=> "tok_mastercard_debit"
|
45
|
+
#
|
46
|
+
# @faker.version 1.9.0
|
25
47
|
def valid_token(legacy_card_type = NOT_GIVEN, card_type: nil)
|
26
48
|
warn_for_deprecated_arguments do |keywords|
|
27
49
|
keywords << :card_type if legacy_card_type != NOT_GIVEN
|
@@ -38,9 +60,19 @@ module Faker
|
|
38
60
|
end
|
39
61
|
end
|
40
62
|
|
41
|
-
fetch(
|
63
|
+
fetch("stripe.valid_tokens.#{card_type}")
|
42
64
|
end
|
43
65
|
|
66
|
+
##
|
67
|
+
# Produces a random invalid card number.
|
68
|
+
#
|
69
|
+
# @return [String]
|
70
|
+
#
|
71
|
+
# @example
|
72
|
+
# Faker::Stripe.invalid_card #=> "4000000000000002"
|
73
|
+
# Faker::Stripe.invalid_card(card_error: "addressZipFail") #=> "4000000000000010"
|
74
|
+
#
|
75
|
+
# @faker.version 1.9.0
|
44
76
|
def invalid_card(legacy_card_error = NOT_GIVEN, card_error: nil)
|
45
77
|
warn_for_deprecated_arguments do |keywords|
|
46
78
|
keywords << :card_error if legacy_card_error != NOT_GIVEN
|
@@ -57,18 +89,47 @@ module Faker
|
|
57
89
|
end
|
58
90
|
end
|
59
91
|
|
60
|
-
fetch(
|
92
|
+
fetch("stripe.invalid_cards.#{card_error}")
|
61
93
|
end
|
62
94
|
|
95
|
+
##
|
96
|
+
# Produces a random month in two digits format.
|
97
|
+
#
|
98
|
+
# @return [String]
|
99
|
+
#
|
100
|
+
# @example
|
101
|
+
# Faker::Stripe.month #=> "10"
|
102
|
+
#
|
103
|
+
# @faker.version 1.9.0
|
63
104
|
def month
|
64
105
|
format('%02d', rand_in_range(1, 12))
|
65
106
|
end
|
66
107
|
|
108
|
+
##
|
109
|
+
# Produces a random year that is always in the future.
|
110
|
+
#
|
111
|
+
# @return [String]
|
112
|
+
#
|
113
|
+
# @example
|
114
|
+
# Faker::Stripe.year #=> "2018" # This will always be a year in the future
|
115
|
+
#
|
116
|
+
# @faker.version 1.9.0
|
67
117
|
def year
|
68
118
|
start_year = ::Time.new.year + 1
|
69
119
|
rand_in_range(start_year, start_year + 5).to_s
|
70
120
|
end
|
71
121
|
|
122
|
+
##
|
123
|
+
# Produces a random ccv number.
|
124
|
+
#
|
125
|
+
# @param card_type [String] Specific valid card type.
|
126
|
+
# @return [String]
|
127
|
+
#
|
128
|
+
# @example
|
129
|
+
# Faker::Stripe.ccv #=> "123"
|
130
|
+
# Faker::Stripe.ccv(card_type: "amex") #=> "1234"
|
131
|
+
#
|
132
|
+
# @faker.version 1.9.0
|
72
133
|
def ccv(legacy_card_type = NOT_GIVEN, card_type: nil)
|
73
134
|
warn_for_deprecated_arguments do |keywords|
|
74
135
|
keywords << :card_type if legacy_card_type != NOT_GIVEN
|