faker 2.4.0 → 2.8.1
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 +159 -0
- data/README.md +3 -0
- data/lib/faker/default/address.rb +202 -0
- data/lib/faker/default/ancient.rb +36 -0
- data/lib/faker/default/app.rb +2 -1
- data/lib/faker/default/avatar.rb +2 -1
- data/lib/faker/default/bank.rb +13 -7
- data/lib/faker/default/bossa_nova.rb +18 -0
- data/lib/faker/default/business.rb +27 -0
- data/lib/faker/default/chuck_norris.rb +12 -2
- data/lib/faker/default/coffee.rb +45 -0
- data/lib/faker/default/coin.rb +18 -0
- data/lib/faker/default/color.rb +48 -1
- data/lib/faker/default/crypto.rb +27 -0
- data/lib/faker/default/currency.rb +27 -0
- data/lib/faker/default/date.rb +83 -2
- data/lib/faker/default/demographic.rb +57 -0
- data/lib/faker/default/driving_licence.rb +2 -2
- data/lib/faker/default/educator.rb +60 -6
- data/lib/faker/default/esport.rb +45 -0
- data/lib/faker/default/fillmurray.rb +23 -1
- data/lib/faker/default/food.rb +65 -1
- data/lib/faker/default/id_number.rb +29 -0
- data/lib/faker/default/internet.rb +21 -8
- data/lib/faker/default/kpop.rb +54 -0
- data/lib/faker/default/nation.rb +48 -5
- data/lib/faker/default/number.rb +124 -0
- data/lib/faker/default/relationship.rb +45 -0
- data/lib/faker/default/restaurant.rb +54 -2
- data/lib/faker/default/space.rb +127 -0
- data/lib/faker/default/team.rb +45 -0
- data/lib/faker/default/time.rb +85 -8
- data/lib/faker/default/world_cup.rb +50 -0
- data/lib/faker/games/zelda.rb +1 -1
- data/lib/faker/japanese_media/one_piece.rb +54 -0
- data/lib/faker/movies/back_to_the_future.rb +28 -0
- data/lib/faker/movies/ghostbusters.rb +28 -0
- data/lib/faker/movies/harry_potter.rb +54 -0
- data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +69 -0
- data/lib/faker/movies/lebowski.rb +27 -0
- data/lib/faker/movies/lord_of_the_rings.rb +28 -0
- data/lib/faker/movies/princess_bride.rb +19 -0
- data/lib/faker/movies/star_wars.rb +94 -0
- data/lib/faker/movies/v_for_vendetta.rb +29 -0
- data/lib/faker/music/umphreys_mcgee.rb +9 -0
- data/lib/faker/sports/basketball.rb +36 -0
- data/lib/faker/sports/football.rb +45 -0
- data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +9 -0
- data/lib/faker/tv_shows/bojack_horseman.rb +28 -0
- data/lib/faker/tv_shows/buffy.rb +45 -0
- data/lib/faker/tv_shows/community.rb +19 -0
- data/lib/faker/tv_shows/dr_who.rb +78 -2
- data/lib/faker/tv_shows/dumb_and_dumber.rb +28 -0
- data/lib/faker/tv_shows/family_guy.rb +28 -0
- data/lib/faker/tv_shows/friends.rb +27 -0
- data/lib/faker/tv_shows/game_of_thrones.rb +46 -0
- data/lib/faker/tv_shows/hey_arnold.rb +27 -0
- data/lib/faker/tv_shows/how_i_met_your_mother.rb +37 -0
- data/lib/faker/tv_shows/michael_scott.rb +13 -0
- data/lib/faker/tv_shows/new_girl.rb +19 -0
- data/lib/faker/tv_shows/parks_and_rec.rb +18 -0
- data/lib/faker/tv_shows/rick_and_morty.rb +28 -0
- data/lib/faker/tv_shows/ru_paul.rb +18 -0
- data/lib/faker/tv_shows/seinfeld.rb +28 -0
- data/lib/faker/tv_shows/silicon_valley.rb +75 -0
- data/lib/faker/tv_shows/simpsons.rb +28 -0
- data/lib/faker/tv_shows/south_park.rb +19 -0
- data/lib/faker/tv_shows/star_trek.rb +36 -0
- data/lib/faker/tv_shows/stargate.rb +28 -0
- data/lib/faker/tv_shows/stranger_things.rb +19 -0
- data/lib/faker/tv_shows/the_expanse.rb +36 -0
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +28 -0
- data/lib/faker/tv_shows/the_it_crowd.rb +37 -0
- data/lib/faker/tv_shows/the_thick_of_it.rb +28 -0
- data/lib/faker/tv_shows/twin_peaks.rb +28 -0
- data/lib/faker/tv_shows/venture_bros.rb +38 -0
- data/lib/faker/version.rb +1 -1
- data/lib/locales/en-CA.yml +1 -0
- data/lib/locales/en-TH.yml +360 -0
- data/lib/locales/en/color.yml +1 -1
- data/lib/locales/en/dr_who.yml +1 -1
- data/lib/locales/en/educator.yml +69 -6
- data/lib/locales/en/overwatch.yml +2617 -32
- data/lib/locales/en/super_smash_bros.yml +1 -0
- data/lib/locales/fr-CA.yml +1 -1
- data/lib/locales/ja.yml +6 -2
- data/lib/locales/pt-BR.yml +23 -2
- data/lib/locales/th.yml +380 -0
- metadata +22 -14
|
@@ -16,6 +16,8 @@ module Faker
|
|
|
16
16
|
BRAZILIAN_ID_FROM = 10_000_000
|
|
17
17
|
BRAZILIAN_ID_TO = 99_999_999
|
|
18
18
|
|
|
19
|
+
CHILEAN_MODULO = 11
|
|
20
|
+
|
|
19
21
|
class << self
|
|
20
22
|
def valid
|
|
21
23
|
_translate('valid')
|
|
@@ -105,8 +107,35 @@ module Faker
|
|
|
105
107
|
|
|
106
108
|
alias brazilian_rg brazilian_id
|
|
107
109
|
|
|
110
|
+
def chilean_id
|
|
111
|
+
digits = Faker::Number.number(digits: 8)
|
|
112
|
+
verification_code = chilean_verification_code(digits)
|
|
113
|
+
|
|
114
|
+
digits.to_s + '-' + verification_code.to_s
|
|
115
|
+
end
|
|
116
|
+
|
|
108
117
|
private
|
|
109
118
|
|
|
119
|
+
def chilean_verification_code(digits)
|
|
120
|
+
# First digit is multiplied by 3, second by 2, and so on
|
|
121
|
+
multiplication_rule = [3, 2, 7, 6, 5, 4, 3, 2]
|
|
122
|
+
digits_splitted = digits.to_s.chars.map(&:to_i)
|
|
123
|
+
|
|
124
|
+
sum = digits_splitted.map.with_index { |digit, index| digit * multiplication_rule[index] }.reduce(:+)
|
|
125
|
+
|
|
126
|
+
modulo = sum.modulo(CHILEAN_MODULO)
|
|
127
|
+
difference = CHILEAN_MODULO - modulo
|
|
128
|
+
|
|
129
|
+
case difference
|
|
130
|
+
when 0..9
|
|
131
|
+
difference
|
|
132
|
+
when 10
|
|
133
|
+
'K'
|
|
134
|
+
when 11
|
|
135
|
+
0
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
|
|
110
139
|
def south_african_id_checksum_digit(id_number)
|
|
111
140
|
value_parts = id_number.chars
|
|
112
141
|
even_digits = value_parts
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Internet < Base
|
|
5
5
|
class << self
|
|
6
|
-
def email(legacy_name = NOT_GIVEN, legacy_separators = NOT_GIVEN, name: nil, separators: nil)
|
|
6
|
+
def email(legacy_name = NOT_GIVEN, legacy_separators = NOT_GIVEN, name: nil, separators: nil, domain: nil)
|
|
7
7
|
warn_for_deprecated_arguments do |keywords|
|
|
8
8
|
keywords << :name if legacy_name != NOT_GIVEN
|
|
9
9
|
keywords << :separators if legacy_separators != NOT_GIVEN
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
if separators
|
|
13
|
-
[username(specifier: name, separators: separators), domain_name].join('@')
|
|
13
|
+
[username(specifier: name, separators: separators), domain_name(domain: domain)].join('@')
|
|
14
14
|
else
|
|
15
|
-
[username(specifier: name), domain_name].join('@')
|
|
15
|
+
[username(specifier: name), domain_name(domain: domain)].join('@')
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
18
|
|
|
@@ -73,6 +73,8 @@ module Faker
|
|
|
73
73
|
end
|
|
74
74
|
end
|
|
75
75
|
|
|
76
|
+
# rubocop:disable Metrics/ParameterLists
|
|
77
|
+
|
|
76
78
|
##
|
|
77
79
|
# Produces a randomized string of characters suitable for passwords
|
|
78
80
|
#
|
|
@@ -95,8 +97,8 @@ module Faker
|
|
|
95
97
|
# Faker::Internet.password(min_length: 10, max_length: 20, mix_case: true, special_characters: true) #=> "*%NkOnJsH4"
|
|
96
98
|
#
|
|
97
99
|
# @faker.version 2.1.3
|
|
98
|
-
# rubocop:disable Metrics/ParameterLists
|
|
99
100
|
def password(legacy_min_length = NOT_GIVEN, legacy_max_length = NOT_GIVEN, legacy_mix_case = NOT_GIVEN, legacy_special_characters = NOT_GIVEN, min_length: 8, max_length: 16, mix_case: true, special_characters: false)
|
|
101
|
+
# rubocop:enable Metrics/ParameterLists
|
|
100
102
|
warn_for_deprecated_arguments do |keywords|
|
|
101
103
|
keywords << :min_length if legacy_min_length != NOT_GIVEN
|
|
102
104
|
keywords << :max_length if legacy_max_length != NOT_GIVEN
|
|
@@ -133,15 +135,25 @@ module Faker
|
|
|
133
135
|
temp
|
|
134
136
|
end
|
|
135
137
|
|
|
136
|
-
def domain_name(legacy_subdomain = NOT_GIVEN, subdomain: false)
|
|
138
|
+
def domain_name(legacy_subdomain = NOT_GIVEN, subdomain: false, domain: nil)
|
|
137
139
|
warn_for_deprecated_arguments do |keywords|
|
|
138
140
|
keywords << :subdomain if legacy_subdomain != NOT_GIVEN
|
|
139
141
|
end
|
|
140
142
|
|
|
141
143
|
with_locale(:en) do
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
144
|
+
if domain
|
|
145
|
+
domain
|
|
146
|
+
.split('.')
|
|
147
|
+
.map { |domain_part| Char.prepare(domain_part) }
|
|
148
|
+
.tap do |domain_elements|
|
|
149
|
+
domain_elements << domain_suffix if domain_elements.length < 2
|
|
150
|
+
domain_elements.unshift(Char.prepare(domain_word)) if subdomain && domain_elements.length < 3
|
|
151
|
+
end.join('.')
|
|
152
|
+
else
|
|
153
|
+
[domain_word, domain_suffix].tap do |domain_elements|
|
|
154
|
+
domain_elements.unshift(Char.prepare(domain_word)) if subdomain
|
|
155
|
+
end.join('.')
|
|
156
|
+
end
|
|
145
157
|
end
|
|
146
158
|
end
|
|
147
159
|
|
|
@@ -239,6 +251,7 @@ module Faker
|
|
|
239
251
|
"#{ip_v6_address}/#{rand(1..127)}"
|
|
240
252
|
end
|
|
241
253
|
|
|
254
|
+
# rubocop:disable Metrics/ParameterLists
|
|
242
255
|
def url(legacy_host = NOT_GIVEN, legacy_path = NOT_GIVEN, legacy_scheme = NOT_GIVEN, host: domain_name, path: "/#{username}", scheme: 'http')
|
|
243
256
|
# rubocop:enable Metrics/ParameterLists
|
|
244
257
|
warn_for_deprecated_arguments do |keywords|
|
data/lib/faker/default/kpop.rb
CHANGED
|
@@ -3,26 +3,80 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Kpop < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces the name of a 1990's 'OG' K-Pop group.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::Kpop.i_groups #=> "Seo Taiji and Boys"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 1.8.5
|
|
6
15
|
def i_groups
|
|
7
16
|
fetch('kpop.i_groups')
|
|
8
17
|
end
|
|
9
18
|
|
|
19
|
+
##
|
|
20
|
+
# Produces the name of a 2000's K-Pop group.
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::Kpop.ii_groups #=> "Girls' Generation"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version 1.8.5
|
|
10
28
|
def ii_groups
|
|
11
29
|
fetch('kpop.ii_groups')
|
|
12
30
|
end
|
|
13
31
|
|
|
32
|
+
##
|
|
33
|
+
# Produces the name of a 2010's K-Pop group.
|
|
34
|
+
#
|
|
35
|
+
# @return [String]
|
|
36
|
+
#
|
|
37
|
+
# @example
|
|
38
|
+
# Faker::Kpop.iii_groups #=> "Trouble Maker"
|
|
39
|
+
#
|
|
40
|
+
# @faker.version 1.8.5
|
|
14
41
|
def iii_groups
|
|
15
42
|
fetch('kpop.iii_groups')
|
|
16
43
|
end
|
|
17
44
|
|
|
45
|
+
##
|
|
46
|
+
# Produces the name of a K-Pop girl group.
|
|
47
|
+
#
|
|
48
|
+
# @return [String]
|
|
49
|
+
#
|
|
50
|
+
# @example
|
|
51
|
+
# Faker::Kpop.girl_groups #=> "2NE1"
|
|
52
|
+
#
|
|
53
|
+
# @faker.version 1.8.5
|
|
18
54
|
def girl_groups
|
|
19
55
|
fetch('kpop.girl_groups')
|
|
20
56
|
end
|
|
21
57
|
|
|
58
|
+
##
|
|
59
|
+
# Produces the name of a K-Pop boy band.
|
|
60
|
+
#
|
|
61
|
+
# @return [String]
|
|
62
|
+
#
|
|
63
|
+
# @example
|
|
64
|
+
# Faker::Kpop.boy_bands #=> "Exo"
|
|
65
|
+
#
|
|
66
|
+
# @faker.version 1.8.5
|
|
22
67
|
def boy_bands
|
|
23
68
|
fetch('kpop.boy_bands')
|
|
24
69
|
end
|
|
25
70
|
|
|
71
|
+
##
|
|
72
|
+
# Produces the name of a solo K-Pop artist.
|
|
73
|
+
#
|
|
74
|
+
# @return [String]
|
|
75
|
+
#
|
|
76
|
+
# @example
|
|
77
|
+
# Faker::Kpop.solo #=> "T.O.P"
|
|
78
|
+
#
|
|
79
|
+
# @faker.version 1.8.5
|
|
26
80
|
def solo
|
|
27
81
|
fetch('kpop.solo')
|
|
28
82
|
end
|
data/lib/faker/default/nation.rb
CHANGED
|
@@ -4,27 +4,70 @@ module Faker
|
|
|
4
4
|
class Nation < Base
|
|
5
5
|
flexible :nation
|
|
6
6
|
class << self
|
|
7
|
-
|
|
7
|
+
##
|
|
8
|
+
# Produces a random nationality.
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
#
|
|
12
|
+
# @example
|
|
13
|
+
# Faker::Nation.nationality #=> "Nepalese"
|
|
14
|
+
#
|
|
15
|
+
# @faker.version 1.9.0
|
|
8
16
|
def nationality
|
|
9
17
|
fetch('nation.nationality')
|
|
10
18
|
end
|
|
11
19
|
|
|
12
|
-
#
|
|
20
|
+
# rubocop:disable Style/AsciiComments
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# Produces a random national flag emoji.
|
|
24
|
+
#
|
|
25
|
+
# @return [String]
|
|
26
|
+
#
|
|
27
|
+
# @example
|
|
28
|
+
# Faker::Nation.flag #=> "🇫🇮"
|
|
29
|
+
#
|
|
30
|
+
# @faker.version 1.9.0
|
|
13
31
|
def flag
|
|
14
32
|
sample(translate('faker.nation.flag')).pack('C*').force_encoding('utf-8')
|
|
15
33
|
end
|
|
34
|
+
# rubocop:enable Style/AsciiComments
|
|
16
35
|
|
|
17
|
-
|
|
36
|
+
##
|
|
37
|
+
# Produces a random national language.
|
|
38
|
+
#
|
|
39
|
+
# @return [String]
|
|
40
|
+
#
|
|
41
|
+
# @example
|
|
42
|
+
# Faker::Nation.language #=> "Nepali"
|
|
43
|
+
#
|
|
44
|
+
# @faker.version 1.9.0
|
|
18
45
|
def language
|
|
19
46
|
fetch('nation.language')
|
|
20
47
|
end
|
|
21
48
|
|
|
22
|
-
|
|
49
|
+
##
|
|
50
|
+
# Produces a random capital city.
|
|
51
|
+
#
|
|
52
|
+
# @return [String]
|
|
53
|
+
#
|
|
54
|
+
# @example
|
|
55
|
+
# Faker::Nation.capital_city #=> "Kathmandu"
|
|
56
|
+
#
|
|
57
|
+
# @faker.version 1.9.0
|
|
23
58
|
def capital_city
|
|
24
59
|
fetch('nation.capital_city')
|
|
25
60
|
end
|
|
26
61
|
|
|
27
|
-
|
|
62
|
+
##
|
|
63
|
+
# Produces a random national sport.
|
|
64
|
+
#
|
|
65
|
+
# @return [String]
|
|
66
|
+
#
|
|
67
|
+
# @example
|
|
68
|
+
# Faker::Nation.national_sport #=> "dandi biyo"
|
|
69
|
+
#
|
|
70
|
+
# @faker.version 1.9.0
|
|
28
71
|
def national_sport
|
|
29
72
|
fetch('team.sport')
|
|
30
73
|
end
|
data/lib/faker/default/number.rb
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Number < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produce a random number.
|
|
8
|
+
#
|
|
9
|
+
# @param digits [Integer] Number of digits that the generated number should have.
|
|
10
|
+
# @return [Integer]
|
|
11
|
+
#
|
|
12
|
+
# @example
|
|
13
|
+
# Faker::Number.number(digits: 10) #=> 1968353479
|
|
14
|
+
#
|
|
15
|
+
# @faker.version 1.0.0
|
|
6
16
|
def number(legacy_digits = NOT_GIVEN, digits: 10)
|
|
7
17
|
warn_for_deprecated_arguments do |keywords|
|
|
8
18
|
keywords << :digits if legacy_digits != NOT_GIVEN
|
|
@@ -15,6 +25,16 @@ module Faker
|
|
|
15
25
|
([non_zero_digit] + generate(digits - 1)).join.to_i
|
|
16
26
|
end
|
|
17
27
|
|
|
28
|
+
##
|
|
29
|
+
# Produce a random number with a leading zero.
|
|
30
|
+
#
|
|
31
|
+
# @param digits [Integer] Number of digits that the generated number should have.
|
|
32
|
+
# @return [String]
|
|
33
|
+
#
|
|
34
|
+
# @example
|
|
35
|
+
# Faker::Number.leading_zero_number(digits: 10) #=> "0669336915"
|
|
36
|
+
#
|
|
37
|
+
# @faker.version 1.0.0
|
|
18
38
|
def leading_zero_number(legacy_digits = NOT_GIVEN, digits: 10)
|
|
19
39
|
warn_for_deprecated_arguments do |keywords|
|
|
20
40
|
keywords << :digits if legacy_digits != NOT_GIVEN
|
|
@@ -23,6 +43,16 @@ module Faker
|
|
|
23
43
|
'0' + (2..digits).collect { digit }.join
|
|
24
44
|
end
|
|
25
45
|
|
|
46
|
+
##
|
|
47
|
+
# Produce a number with a number of digits, preserves leading zeroes.
|
|
48
|
+
#
|
|
49
|
+
# @param digits [Integer] Number of digits that the generated number should have.
|
|
50
|
+
# @return [String]
|
|
51
|
+
#
|
|
52
|
+
# @example
|
|
53
|
+
# Faker::Number.decimal_part(digits: 2) #=> "09"
|
|
54
|
+
#
|
|
55
|
+
# @faker.version 1.0.0
|
|
26
56
|
def decimal_part(legacy_digits = NOT_GIVEN, digits: 10)
|
|
27
57
|
warn_for_deprecated_arguments do |keywords|
|
|
28
58
|
keywords << :digits if legacy_digits != NOT_GIVEN
|
|
@@ -36,6 +66,18 @@ module Faker
|
|
|
36
66
|
leading_zero_number(digits: digits) + num.to_s
|
|
37
67
|
end
|
|
38
68
|
|
|
69
|
+
##
|
|
70
|
+
# Produces a float.
|
|
71
|
+
#
|
|
72
|
+
# @param l_digits [Integer] Number of digits that the generated decimal should have to the left of the decimal point.
|
|
73
|
+
# @param r_digits [Integer] Number of digits that the generated decimal should have to the right of the decimal point.
|
|
74
|
+
# @return [Float]
|
|
75
|
+
#
|
|
76
|
+
# @example
|
|
77
|
+
# Faker::Number.decimal(l_digits: 2) #=> 11.88
|
|
78
|
+
# Faker::Number.decimal(l_digits: 3, r_digits: 3) #=> 181.843
|
|
79
|
+
#
|
|
80
|
+
# @faker.version 1.0.0
|
|
39
81
|
def decimal(legacy_l_digits = NOT_GIVEN, legacy_r_digits = NOT_GIVEN, l_digits: 5, r_digits: 2)
|
|
40
82
|
warn_for_deprecated_arguments do |keywords|
|
|
41
83
|
keywords << :l_digits if legacy_l_digits != NOT_GIVEN
|
|
@@ -53,14 +95,42 @@ module Faker
|
|
|
53
95
|
"#{l_d}.#{r_d}".to_f
|
|
54
96
|
end
|
|
55
97
|
|
|
98
|
+
##
|
|
99
|
+
# Produces a non-zero single-digit integer.
|
|
100
|
+
#
|
|
101
|
+
# @return [Integer]
|
|
102
|
+
#
|
|
103
|
+
# @example
|
|
104
|
+
# Faker::Number.non_zero_digit #=> 8
|
|
105
|
+
#
|
|
106
|
+
# @faker.version 1.0.0
|
|
56
107
|
def non_zero_digit
|
|
57
108
|
rand(1..9)
|
|
58
109
|
end
|
|
59
110
|
|
|
111
|
+
##
|
|
112
|
+
# Produces a single-digit integer.
|
|
113
|
+
#
|
|
114
|
+
# @return [Integer]
|
|
115
|
+
#
|
|
116
|
+
# @example
|
|
117
|
+
# Faker::Number.digit #=> 1
|
|
118
|
+
#
|
|
119
|
+
# @faker.version 1.0.0
|
|
60
120
|
def digit
|
|
61
121
|
rand(10)
|
|
62
122
|
end
|
|
63
123
|
|
|
124
|
+
##
|
|
125
|
+
# Produces a number in hexadecimal format.
|
|
126
|
+
#
|
|
127
|
+
# @param digits [Integer] Number of digits in the he
|
|
128
|
+
# @return [String]
|
|
129
|
+
#
|
|
130
|
+
# @example
|
|
131
|
+
# Faker::Number.hexadecimal(digits: 3) #=> "e74"
|
|
132
|
+
#
|
|
133
|
+
# @faker.version 1.0.0
|
|
64
134
|
def hexadecimal(legacy_digits = NOT_GIVEN, digits: 6)
|
|
65
135
|
warn_for_deprecated_arguments do |keywords|
|
|
66
136
|
keywords << :digits if legacy_digits != NOT_GIVEN
|
|
@@ -71,6 +141,17 @@ module Faker
|
|
|
71
141
|
hex
|
|
72
142
|
end
|
|
73
143
|
|
|
144
|
+
##
|
|
145
|
+
# Produces a float given a mean and standard deviation.
|
|
146
|
+
#
|
|
147
|
+
# @param mean [Integer]
|
|
148
|
+
# @param standard_deviation [Integer, Float]
|
|
149
|
+
# @return [Float]
|
|
150
|
+
#
|
|
151
|
+
# @example
|
|
152
|
+
# Faker::Number.normal(mean: 50, standard_deviation: 3.5) #=> 47.14669604069156
|
|
153
|
+
#
|
|
154
|
+
# @faker.version 1.0.0
|
|
74
155
|
def normal(legacy_mean = NOT_GIVEN, legacy_standard_deviation = NOT_GIVEN, mean: 1, standard_deviation: 1)
|
|
75
156
|
warn_for_deprecated_arguments do |keywords|
|
|
76
157
|
keywords << :mean if legacy_mean != NOT_GIVEN
|
|
@@ -83,6 +164,17 @@ module Faker
|
|
|
83
164
|
mean + scale * Math.cos(theta)
|
|
84
165
|
end
|
|
85
166
|
|
|
167
|
+
##
|
|
168
|
+
# Produces a number between two provided values. Boundaries are inclusive.
|
|
169
|
+
#
|
|
170
|
+
# @param from [Integer] The lowest number to include.
|
|
171
|
+
# @param to [Integer] The highest number to include.
|
|
172
|
+
# @return [Integer]
|
|
173
|
+
#
|
|
174
|
+
# @example
|
|
175
|
+
# Faker::Number.between(from: 1, to: 10) #=> 7
|
|
176
|
+
#
|
|
177
|
+
# @faker.version 1.0.0
|
|
86
178
|
def between(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 1.00, to: 5000.00)
|
|
87
179
|
warn_for_deprecated_arguments do |keywords|
|
|
88
180
|
keywords << :from if legacy_from != NOT_GIVEN
|
|
@@ -92,6 +184,16 @@ module Faker
|
|
|
92
184
|
Faker::Base.rand_in_range(from, to)
|
|
93
185
|
end
|
|
94
186
|
|
|
187
|
+
##
|
|
188
|
+
# Produces a number within two provided values. Boundaries are inclusive or exclusive depending on the range passed.
|
|
189
|
+
#
|
|
190
|
+
# @param range [Range] The range from which to generate a number.
|
|
191
|
+
# @return [Integer]
|
|
192
|
+
#
|
|
193
|
+
# @example
|
|
194
|
+
# Faker::Number.within(range: 1..10) #=> 7
|
|
195
|
+
#
|
|
196
|
+
# @faker.version 1.0.0
|
|
95
197
|
def within(legacy_range = NOT_GIVEN, range: 1.00..5000.00)
|
|
96
198
|
warn_for_deprecated_arguments do |keywords|
|
|
97
199
|
keywords << :range if legacy_range != NOT_GIVEN
|
|
@@ -100,6 +202,17 @@ module Faker
|
|
|
100
202
|
between(from: range.min, to: range.max)
|
|
101
203
|
end
|
|
102
204
|
|
|
205
|
+
##
|
|
206
|
+
# Produces a positive float.
|
|
207
|
+
#
|
|
208
|
+
# @param from [Integer] The lower boundary.
|
|
209
|
+
# @param to [Integer] The higher boundary.
|
|
210
|
+
# @return [Float]
|
|
211
|
+
#
|
|
212
|
+
# @example
|
|
213
|
+
# Faker::Number.positive #=> 235.59238499107653
|
|
214
|
+
#
|
|
215
|
+
# @faker.version 1.0.0
|
|
103
216
|
def positive(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 1.00, to: 5000.00)
|
|
104
217
|
warn_for_deprecated_arguments do |keywords|
|
|
105
218
|
keywords << :from if legacy_from != NOT_GIVEN
|
|
@@ -111,6 +224,17 @@ module Faker
|
|
|
111
224
|
greater_than_zero(random_number)
|
|
112
225
|
end
|
|
113
226
|
|
|
227
|
+
##
|
|
228
|
+
# Produces a negative float.
|
|
229
|
+
#
|
|
230
|
+
# @param from [Integer] The lower boundary.
|
|
231
|
+
# @param to [Integer] The higher boundary.
|
|
232
|
+
# @return [Float]
|
|
233
|
+
#
|
|
234
|
+
# @example
|
|
235
|
+
# Faker::Number.negative #=> -4480.042585669558
|
|
236
|
+
#
|
|
237
|
+
# @faker.version 1.0.0
|
|
114
238
|
def negative(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: -5000.00, to: -1.00)
|
|
115
239
|
warn_for_deprecated_arguments do |keywords|
|
|
116
240
|
keywords << :from if legacy_from != NOT_GIVEN
|