faker 2.10.2 → 2.15.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 +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
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
|
@@ -3,6 +3,19 @@
|
|
3
3
|
module Faker
|
4
4
|
class Twitter < Base
|
5
5
|
class << self
|
6
|
+
##
|
7
|
+
# Produces a random Twitter user.
|
8
|
+
#
|
9
|
+
# @param include_status [Boolean] Include or exclude user status details
|
10
|
+
# @param include_email [Boolean] Include or exclude user email details
|
11
|
+
# @return [Hash]
|
12
|
+
#
|
13
|
+
# @example
|
14
|
+
# Faker::Twitter.user #=> {:id=>8821452687517076614, :name=>"Lincoln Paucek", :screen_name=>"cody"...
|
15
|
+
# Faker::Twitter.user(include_status: false) # Just get a user object with no embed status
|
16
|
+
# Faker::Twitter.user(include_email: true) # Simulate an authenticated user with the email permission
|
17
|
+
#
|
18
|
+
# @faker.version 1.7.3
|
6
19
|
def user(legacy_include_status = NOT_GIVEN, legacy_include_email = NOT_GIVEN, include_status: true, include_email: false)
|
7
20
|
warn_for_deprecated_arguments do |keywords|
|
8
21
|
keywords << :include_status if legacy_include_status != NOT_GIVEN
|
@@ -59,6 +72,19 @@ module Faker
|
|
59
72
|
user
|
60
73
|
end
|
61
74
|
|
75
|
+
##
|
76
|
+
# Produces a random Twitter user.
|
77
|
+
#
|
78
|
+
# @param include_user [Boolean] Include or exclude user details
|
79
|
+
# @param include_photo [Boolean] Include or exclude user photo
|
80
|
+
# @return [Hash]
|
81
|
+
#
|
82
|
+
# @example
|
83
|
+
# Faker::Twitter.status #=> {:id=>8821452687517076614, :text=>"Ea et laboriosam vel non."...
|
84
|
+
# Faker::Twitter.status(include_user: false) # Just get a status object with no embed user
|
85
|
+
# Faker::Twitter.status(include_photo: true) # Includes entities for an attached image
|
86
|
+
#
|
87
|
+
# @faker.version 1.7.3
|
62
88
|
def status(legacy_include_user = NOT_GIVEN, legacy_include_photo = NOT_GIVEN, include_user: true, include_photo: false)
|
63
89
|
warn_for_deprecated_arguments do |keywords|
|
64
90
|
keywords << :include_user if legacy_include_user != NOT_GIVEN
|
@@ -97,6 +123,15 @@ module Faker
|
|
97
123
|
status
|
98
124
|
end
|
99
125
|
|
126
|
+
##
|
127
|
+
# Produces a random screen name.
|
128
|
+
#
|
129
|
+
# @return [String]
|
130
|
+
#
|
131
|
+
# @example
|
132
|
+
# Faker::Twitter.screen_name #=> "audreanne_hackett"
|
133
|
+
#
|
134
|
+
# @faker.version 1.7.3
|
100
135
|
def screen_name
|
101
136
|
Faker::Internet.username(specifier: nil, separators: ['_'])[0...20]
|
102
137
|
end
|
data/lib/faker/default/types.rb
CHANGED
@@ -7,6 +7,15 @@ module Faker
|
|
7
7
|
COMPLEX_TYPES = %i[hash array].freeze
|
8
8
|
|
9
9
|
class << self
|
10
|
+
##
|
11
|
+
# Produces a random String created from word (Faker::Lorem.word)
|
12
|
+
#
|
13
|
+
# @return [String]
|
14
|
+
#
|
15
|
+
# @example
|
16
|
+
# Faker::Types.rb_string #=> "foobar"
|
17
|
+
#
|
18
|
+
# @faker.version 1.8.6
|
10
19
|
def rb_string(legacy_words = NOT_GIVEN, words: 1)
|
11
20
|
warn_for_deprecated_arguments do |keywords|
|
12
21
|
keywords << :words if legacy_words != NOT_GIVEN
|
@@ -20,10 +29,28 @@ module Faker
|
|
20
29
|
shuffle(word_list)[0, resolved_num].join(' ')
|
21
30
|
end
|
22
31
|
|
32
|
+
##
|
33
|
+
# Produces a random character from the a-z, 0-9 ranges.
|
34
|
+
#
|
35
|
+
# @return [String]
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# Faker::Types.character #=> "n"
|
39
|
+
#
|
40
|
+
# @faker.version 1.8.6
|
23
41
|
def character
|
24
42
|
sample(CHARACTERS)
|
25
43
|
end
|
26
44
|
|
45
|
+
##
|
46
|
+
# Produces a random integer.
|
47
|
+
#
|
48
|
+
# @return [Integer]
|
49
|
+
#
|
50
|
+
# @example
|
51
|
+
# Faker::Types.rb_integer #=> 1
|
52
|
+
#
|
53
|
+
# @faker.version 1.8.6
|
27
54
|
def rb_integer(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 0, to: 100)
|
28
55
|
warn_for_deprecated_arguments do |keywords|
|
29
56
|
keywords << :from if legacy_from != NOT_GIVEN
|
@@ -33,6 +60,18 @@ module Faker
|
|
33
60
|
rand(from..to).to_i
|
34
61
|
end
|
35
62
|
|
63
|
+
##
|
64
|
+
# Produces a random hash with random keys and values.
|
65
|
+
#
|
66
|
+
# @param number [Integer] Specifies the number of key-value pairs.
|
67
|
+
# @return [Hash]
|
68
|
+
#
|
69
|
+
# @example
|
70
|
+
# Faker::Types.rb_hash #=> {name: "bob"}
|
71
|
+
# Faker::Types.rb_hash(number: 1) #=> {name: "bob"}
|
72
|
+
# Faker::Types.rb_hash(number: 2) #=> {name: "bob", last: "marley"}
|
73
|
+
#
|
74
|
+
# @faker.version 1.8.6
|
36
75
|
def rb_hash(legacy_number = NOT_GIVEN, legacy_type = NOT_GIVEN, number: 1, type: random_type)
|
37
76
|
warn_for_deprecated_arguments do |keywords|
|
38
77
|
keywords << :number if legacy_number != NOT_GIVEN
|
@@ -46,6 +85,18 @@ module Faker
|
|
46
85
|
end
|
47
86
|
end
|
48
87
|
|
88
|
+
##
|
89
|
+
# Produces a random complex hash with random keys and values where the values may include other hashes and arrays.
|
90
|
+
#
|
91
|
+
# @param number [Integer] Specifies the number of key-value pairs.
|
92
|
+
# @return [Hash]
|
93
|
+
#
|
94
|
+
# @example
|
95
|
+
# Faker::Types.complex_rb_hash #=> {user: {first: "bob", last: "marley"}}
|
96
|
+
# Faker::Types.complex_rb_hash(number: 1) #=> {user: {first: "bob", last: "marley"}}
|
97
|
+
# Faker::Types.complex_rb_hash(number: 2) #=> {user: {first: "bob", last: "marley"}, son: ["damien", "marley"]}
|
98
|
+
#
|
99
|
+
# @faker.version 1.8.6
|
49
100
|
def complex_rb_hash(legacy_number = NOT_GIVEN, number: 1)
|
50
101
|
warn_for_deprecated_arguments do |keywords|
|
51
102
|
keywords << :number if legacy_number != NOT_GIVEN
|
@@ -54,6 +105,17 @@ module Faker
|
|
54
105
|
rb_hash(number: number, type: random_complex_type)
|
55
106
|
end
|
56
107
|
|
108
|
+
##
|
109
|
+
# Produces a random array.
|
110
|
+
#
|
111
|
+
# @param len [Integer] Specifies the number of elements in the array.
|
112
|
+
# @return [Array]
|
113
|
+
#
|
114
|
+
# @example
|
115
|
+
# Faker::Types.rb_array #=> ["a"]
|
116
|
+
# Faker::Types.rb_array(len: 4) #=> ["a", 1, 2, "bob"]
|
117
|
+
#
|
118
|
+
# @faker.version 1.8.6
|
57
119
|
def rb_array(legacy_len = NOT_GIVEN, len: 1)
|
58
120
|
warn_for_deprecated_arguments do |keywords|
|
59
121
|
keywords << :len if legacy_len != NOT_GIVEN
|
@@ -66,6 +128,15 @@ module Faker
|
|
66
128
|
end
|
67
129
|
end
|
68
130
|
|
131
|
+
##
|
132
|
+
# Produces a random type that's either a String or an Integer.
|
133
|
+
#
|
134
|
+
# @return [String, Integer]
|
135
|
+
#
|
136
|
+
# @example
|
137
|
+
# Faker::Types.random_type #=> 1 or "a" or "bob"
|
138
|
+
#
|
139
|
+
# @faker.version 1.8.6
|
69
140
|
def random_type
|
70
141
|
type_to_use = SIMPLE_TYPES[rand(0..SIMPLE_TYPES.length - 1)]
|
71
142
|
case type_to_use
|
@@ -76,6 +147,15 @@ module Faker
|
|
76
147
|
end
|
77
148
|
end
|
78
149
|
|
150
|
+
##
|
151
|
+
# Produces a random complex type that's either a String, an Integer, an array or a hash.
|
152
|
+
#
|
153
|
+
# @return [String, Integer]
|
154
|
+
#
|
155
|
+
# @example
|
156
|
+
# Faker::Types.random_complex_type #=> 1 or "a" or "bob" or {foo: "bar"}
|
157
|
+
#
|
158
|
+
# @faker.version 1.8.6
|
79
159
|
def random_complex_type
|
80
160
|
types = SIMPLE_TYPES + COMPLEX_TYPES
|
81
161
|
type_to_use = types[rand(0..types.length - 1)]
|
@@ -5,22 +5,67 @@ module Faker
|
|
5
5
|
flexible :university
|
6
6
|
|
7
7
|
class << self
|
8
|
+
##
|
9
|
+
# Produces a random university name.
|
10
|
+
#
|
11
|
+
# @return [String]
|
12
|
+
#
|
13
|
+
# @example
|
14
|
+
# Faker::University.name #=> "Eastern Mississippi Academy"
|
15
|
+
#
|
16
|
+
# @faker.version 1.5.0
|
8
17
|
def name
|
9
18
|
parse('university.name')
|
10
19
|
end
|
11
20
|
|
21
|
+
##
|
22
|
+
# Produces a random university prefix.
|
23
|
+
#
|
24
|
+
# @return [String]
|
25
|
+
#
|
26
|
+
# @example
|
27
|
+
# Faker::University.prefix #=> "Western"
|
28
|
+
#
|
29
|
+
# @faker.version 1.5.0
|
12
30
|
def prefix
|
13
31
|
fetch('university.prefix')
|
14
32
|
end
|
15
33
|
|
34
|
+
##
|
35
|
+
# Produces a random university suffix.
|
36
|
+
#
|
37
|
+
# @return [String]
|
38
|
+
#
|
39
|
+
# @example
|
40
|
+
# Faker::University.suffix #=> "Academy"
|
41
|
+
#
|
42
|
+
# @faker.version 1.5.0
|
16
43
|
def suffix
|
17
44
|
fetch('university.suffix')
|
18
45
|
end
|
19
46
|
|
47
|
+
##
|
48
|
+
# Produces a random greek organization.
|
49
|
+
#
|
50
|
+
# @return [String]
|
51
|
+
#
|
52
|
+
# @example
|
53
|
+
# Faker::University.greek_organization #=> "BEX"
|
54
|
+
#
|
55
|
+
# @faker.version 1.5.0
|
20
56
|
def greek_organization
|
21
57
|
Array.new(3) { |_| sample(greek_alphabet) }.join
|
22
58
|
end
|
23
59
|
|
60
|
+
##
|
61
|
+
# Produces a greek alphabet.
|
62
|
+
#
|
63
|
+
# @return [Array]
|
64
|
+
#
|
65
|
+
# @example
|
66
|
+
# Faker::University.greek_alphabet #=> ["Α", "B", "Γ", "Δ", ...]
|
67
|
+
#
|
68
|
+
# @faker.version 1.5.0
|
24
69
|
def greek_alphabet
|
25
70
|
%w[Α B Γ Δ E Z H Θ I K Λ M N Ξ
|
26
71
|
O Π P Σ T Y Φ X Ψ Ω]
|
@@ -14,18 +14,54 @@ module Faker
|
|
14
14
|
SG_CHECKSUM_CHARS = 'AYUSPLJGDBZXTRMKHEC'
|
15
15
|
|
16
16
|
class << self
|
17
|
+
# Produces a random vehicle VIN number.
|
18
|
+
#
|
19
|
+
# @return [String]
|
20
|
+
#
|
21
|
+
# @example
|
22
|
+
# Faker::Vehicle.vin #=> "LLDWXZLG77VK2LUUF"
|
23
|
+
#
|
24
|
+
# @faker.version 1.6.4
|
17
25
|
def vin
|
18
26
|
regexify(VIN_REGEX)
|
19
27
|
end
|
20
28
|
|
29
|
+
# Produces a random vehicle manufacturer.
|
30
|
+
#
|
31
|
+
# @return [String]
|
32
|
+
#
|
33
|
+
# @example
|
34
|
+
# Faker::Vehicle.manufacture #=> "Lamborghini"
|
35
|
+
#
|
36
|
+
# @faker.version 1.6.4
|
21
37
|
def manufacture
|
22
38
|
fetch('vehicle.manufacture')
|
23
39
|
end
|
24
40
|
|
41
|
+
##
|
42
|
+
# Produces a random vehicle make.
|
43
|
+
#
|
44
|
+
# @return [String]
|
45
|
+
#
|
46
|
+
# @example
|
47
|
+
# Faker::Vehicle.make #=> "Honda"
|
48
|
+
#
|
49
|
+
# @faker.version 1.6.4
|
25
50
|
def make
|
26
51
|
fetch('vehicle.makes')
|
27
52
|
end
|
28
53
|
|
54
|
+
##
|
55
|
+
# Produces a random vehicle model.
|
56
|
+
#
|
57
|
+
# @param make_of_model [String] Specific valid vehicle make.
|
58
|
+
# @return [String]
|
59
|
+
#
|
60
|
+
# @example
|
61
|
+
# Faker::Vehicle.model #=> "A8"
|
62
|
+
# Faker::Vehicle.model(make_of_model: 'Toyota') #=> "Prius"
|
63
|
+
#
|
64
|
+
# @faker.version 1.6.4
|
29
65
|
def model(legacy_make_of_model = NOT_GIVEN, make_of_model: '')
|
30
66
|
warn_for_deprecated_arguments do |keywords|
|
31
67
|
keywords << :make_of_model if legacy_make_of_model != NOT_GIVEN
|
@@ -36,59 +72,183 @@ module Faker
|
|
36
72
|
fetch("vehicle.models_by_make.#{make_of_model}")
|
37
73
|
end
|
38
74
|
|
75
|
+
##
|
76
|
+
# Produces a random vehicle make and model.
|
77
|
+
#
|
78
|
+
# @return [String]
|
79
|
+
#
|
80
|
+
# @example
|
81
|
+
# Faker::Vehicle.make_and_model #=> "Dodge Charger"
|
82
|
+
#
|
83
|
+
# @faker.version 1.6.4
|
39
84
|
def make_and_model
|
40
85
|
m = make
|
41
86
|
|
42
87
|
"#{m} #{model(make_of_model: m)}"
|
43
88
|
end
|
44
89
|
|
90
|
+
##
|
91
|
+
# Produces a random vehicle style.
|
92
|
+
#
|
93
|
+
# @return [String]
|
94
|
+
#
|
95
|
+
# @example
|
96
|
+
# Faker::Vehicle.style #=> "ESi"
|
97
|
+
#
|
98
|
+
# @faker.version 1.6.4
|
45
99
|
def style
|
46
100
|
fetch('vehicle.styles')
|
47
101
|
end
|
48
102
|
|
103
|
+
##
|
104
|
+
# Produces a random vehicle color.
|
105
|
+
#
|
106
|
+
# @return [String]
|
107
|
+
#
|
108
|
+
# @example
|
109
|
+
# Faker::Vehicle.color #=> "Red"
|
110
|
+
#
|
111
|
+
# @faker.version 1.6.4
|
49
112
|
def color
|
50
113
|
fetch('vehicle.colors')
|
51
114
|
end
|
52
115
|
|
116
|
+
##
|
117
|
+
# Produces a random vehicle transmission.
|
118
|
+
#
|
119
|
+
# @return [String]
|
120
|
+
#
|
121
|
+
# @example
|
122
|
+
# Faker::Vehicle.transmission #=> "Automanual"
|
123
|
+
#
|
124
|
+
# @faker.version 1.6.4
|
53
125
|
def transmission
|
54
126
|
fetch('vehicle.transmissions')
|
55
127
|
end
|
56
128
|
|
129
|
+
##
|
130
|
+
# Produces a random vehicle drive type.
|
131
|
+
#
|
132
|
+
# @return [String]
|
133
|
+
#
|
134
|
+
# @example
|
135
|
+
# Faker::Vehicle.drive_type #=> "4x2/2-wheel drive"
|
136
|
+
#
|
137
|
+
# @faker.version 1.6.4
|
57
138
|
def drive_type
|
58
139
|
fetch('vehicle.drive_types')
|
59
140
|
end
|
60
141
|
|
142
|
+
##
|
143
|
+
# Produces a random vehicle fuel type.
|
144
|
+
#
|
145
|
+
# @return [String]
|
146
|
+
#
|
147
|
+
# @example
|
148
|
+
# Faker::Vehicle.fuel_type #=> "Diesel"
|
149
|
+
#
|
150
|
+
# @faker.version 1.6.4
|
61
151
|
def fuel_type
|
62
152
|
fetch('vehicle.fuel_types')
|
63
153
|
end
|
64
154
|
|
155
|
+
##
|
156
|
+
# Produces a random car type.
|
157
|
+
#
|
158
|
+
# @return [String]
|
159
|
+
#
|
160
|
+
# @example
|
161
|
+
# Faker::Vehicle.car_type #=> "Sedan"
|
162
|
+
#
|
163
|
+
# @faker.version 1.6.4
|
65
164
|
def car_type
|
66
165
|
fetch('vehicle.car_types')
|
67
166
|
end
|
68
167
|
|
168
|
+
##
|
169
|
+
# Produces a random engine cylinder count.
|
170
|
+
#
|
171
|
+
# @return [String]
|
172
|
+
#
|
173
|
+
# @example
|
174
|
+
# Faker::Vehicle.engine_size #=> 6
|
175
|
+
# Faker::Vehicle.engine #=> 4
|
176
|
+
#
|
177
|
+
# @faker.version 1.6.4
|
69
178
|
def engine
|
70
179
|
"#{sample(fetch_all('vehicle.doors'))} #{fetch('vehicle.cylinder_engine')}"
|
71
180
|
end
|
72
181
|
|
73
182
|
alias engine_size engine
|
74
183
|
|
184
|
+
##
|
185
|
+
# Produces a random list of car options.
|
186
|
+
#
|
187
|
+
# @return [Array<String>]
|
188
|
+
#
|
189
|
+
# @example
|
190
|
+
# Faker::Vehicle.car_options #=> ["DVD System", "MP3 (Single Disc)", "Tow Package", "CD (Multi Disc)", "Cassette Player", "Bucket Seats", "Cassette Player", "Leather Interior", "AM/FM Stereo", "Third Row Seats"]
|
191
|
+
#
|
192
|
+
# @faker.version 1.6.4
|
75
193
|
def car_options
|
76
194
|
Array.new(rand(5...10)) { fetch('vehicle.car_options') }
|
77
195
|
end
|
78
196
|
|
197
|
+
##
|
198
|
+
# Produces a random list of standard specs.
|
199
|
+
#
|
200
|
+
# @return [Array<String>]
|
201
|
+
#
|
202
|
+
# @example
|
203
|
+
# Faker::Vehicle.standard_specs #=> ["Full-size spare tire w/aluminum alloy wheel", "Back-up camera", "Carpeted cargo area", "Silver accent IP trim finisher -inc: silver shifter finisher", "Back-up camera", "Water-repellent windshield & front door glass", "Floor carpeting"]
|
204
|
+
#
|
205
|
+
# @faker.version 1.6.4
|
79
206
|
def standard_specs
|
80
207
|
Array.new(rand(5...10)) { fetch('vehicle.standard_specs') }
|
81
208
|
end
|
82
209
|
|
210
|
+
##
|
211
|
+
# Produces a random vehicle door count.
|
212
|
+
#
|
213
|
+
# @return [Integer]
|
214
|
+
#
|
215
|
+
# @example
|
216
|
+
# Faker::Vehicle.doors #=> 1
|
217
|
+
# Faker::Vehicle.door_count #=> 3
|
218
|
+
#
|
219
|
+
# @faker.version 1.6.4
|
83
220
|
def doors
|
84
221
|
sample(fetch_all('vehicle.doors'))
|
85
222
|
end
|
86
223
|
alias door_count doors
|
87
224
|
|
225
|
+
##
|
226
|
+
# Produces a random car year between 1 and 15 years ago.
|
227
|
+
#
|
228
|
+
# @return [Integer]
|
229
|
+
#
|
230
|
+
# @example
|
231
|
+
# Faker::Vehicle.year #=> 2008
|
232
|
+
#
|
233
|
+
# @faker.version 1.6.4
|
88
234
|
def year
|
89
235
|
Faker::Time.backward(days: rand_in_range(365, 5475), period: :all, format: '%Y').to_i
|
90
236
|
end
|
91
237
|
|
238
|
+
##
|
239
|
+
# Produces a random mileage/kilometrage for a vehicle.
|
240
|
+
#
|
241
|
+
# @param min [Integer] Specific minimum limit for mileage generation.
|
242
|
+
# @param max [Integer] Specific maximum limit for mileage generation.
|
243
|
+
# @return [Integer]
|
244
|
+
#
|
245
|
+
# @example
|
246
|
+
# Faker::Vehicle.mileage #=> 26961
|
247
|
+
# Faker::Vehicle.mileage(min: 50_000) #=> 81557
|
248
|
+
# Faker::Vehicle.mileage(min: 50_000, max: 250_000) #=> 117503
|
249
|
+
# Faker::Vehicle.kilometrage #=> 35378
|
250
|
+
#
|
251
|
+
# @faker.version 1.6.4
|
92
252
|
def mileage(legacy_min = NOT_GIVEN, legacy_max = NOT_GIVEN, min: MILEAGE_MIN, max: MILEAGE_MAX)
|
93
253
|
warn_for_deprecated_arguments do |keywords|
|
94
254
|
keywords << :min if legacy_min != NOT_GIVEN
|
@@ -100,17 +260,37 @@ module Faker
|
|
100
260
|
|
101
261
|
alias kilometrage mileage
|
102
262
|
|
103
|
-
|
263
|
+
##
|
264
|
+
# Produces a random license plate number.
|
265
|
+
#
|
266
|
+
# @param state_abbreviation [String] Two letter state abbreviation for license plate generation.
|
267
|
+
# @return [String]
|
268
|
+
#
|
269
|
+
# @example
|
270
|
+
# Faker::Vehicle.license_plate #=> "DEP-2483"
|
271
|
+
# Faker::Vehicle.license_plate(state_abbreviation: 'FL') #=> "977 UNU"
|
272
|
+
#
|
273
|
+
# @faker.version 1.6.4
|
274
|
+
def license_plate(legacy_state_abreviation = NOT_GIVEN, state_abbreviation: '')
|
104
275
|
warn_for_deprecated_arguments do |keywords|
|
105
|
-
keywords << :
|
276
|
+
keywords << :state_abbreviation if legacy_state_abreviation != NOT_GIVEN
|
106
277
|
end
|
107
278
|
|
108
|
-
return regexify(bothify(fetch('vehicle.license_plate'))) if
|
279
|
+
return regexify(bothify(fetch('vehicle.license_plate'))) if state_abbreviation.empty?
|
109
280
|
|
110
|
-
key =
|
281
|
+
key = "vehicle.license_plate_by_state.#{state_abbreviation}"
|
111
282
|
regexify(bothify(fetch(key)))
|
112
283
|
end
|
113
284
|
|
285
|
+
##
|
286
|
+
# Produces a random license plate number for Singapore.
|
287
|
+
#
|
288
|
+
# @return [String]
|
289
|
+
#
|
290
|
+
# @example
|
291
|
+
# Faker::Vehicle.singapore_license_plate #=> "SLV1854M"
|
292
|
+
#
|
293
|
+
# @faker.version 1.6.4
|
114
294
|
def singapore_license_plate
|
115
295
|
key = 'vehicle.license_plate'
|
116
296
|
plate_number = regexify(bothify(fetch(key)))
|