faker 2.5.0 → 2.9.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 +163 -10
- 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/bank.rb +13 -7
- data/lib/faker/default/beer.rb +72 -0
- data/lib/faker/default/bossa_nova.rb +18 -0
- data/lib/faker/default/business.rb +27 -0
- data/lib/faker/default/chuck_norris.rb +11 -1
- 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 +24 -0
- 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/gender.rb +13 -0
- data/lib/faker/default/id_number.rb +29 -0
- data/lib/faker/default/internet.rb +17 -7
- data/lib/faker/default/job.rb +36 -0
- data/lib/faker/default/kpop.rb +54 -0
- data/lib/faker/default/relationship.rb +45 -0
- data/lib/faker/default/space.rb +127 -0
- data/lib/faker/default/team.rb +45 -0
- data/lib/faker/default/world_cup.rb +50 -0
- data/lib/faker/version.rb +1 -1
- data/lib/locales/en-CA.yml +1 -0
- data/lib/locales/en/educator.yml +69 -6
- data/lib/locales/en/gender.yml +1 -0
- data/lib/locales/en/overwatch.yml +2617 -32
- data/lib/locales/en/super_smash_bros.yml +1 -0
- data/lib/locales/fa.yml +2 -0
- data/lib/locales/fr-CA.yml +1 -1
- data/lib/locales/ja.yml +6 -2
- data/lib/locales/pt-BR.yml +23 -2
- metadata +22 -15
data/lib/faker/default/crypto.rb
CHANGED
@@ -5,14 +5,41 @@ require 'digest'
|
|
5
5
|
module Faker
|
6
6
|
class Crypto < Base
|
7
7
|
class << self
|
8
|
+
##
|
9
|
+
# Produces an MD5 hash.
|
10
|
+
#
|
11
|
+
# @return [String]
|
12
|
+
#
|
13
|
+
# @example
|
14
|
+
# Faker::Crypto.md5 #=> "6b5ed240042e8a65c55ddb826c3408e6"
|
15
|
+
#
|
16
|
+
# @faker.version 1.6.4
|
8
17
|
def md5
|
9
18
|
Digest::MD5.hexdigest(Lorem.characters)
|
10
19
|
end
|
11
20
|
|
21
|
+
##
|
22
|
+
# Produces a SHA1 hash.
|
23
|
+
#
|
24
|
+
# @return [String]
|
25
|
+
#
|
26
|
+
# @example
|
27
|
+
# Faker::Crypto.sha1 #=> "4e99e31c51eef8b2d290e709f757f92e558a503f"
|
28
|
+
#
|
29
|
+
# @faker.version 1.6.4
|
12
30
|
def sha1
|
13
31
|
Digest::SHA1.hexdigest(Lorem.characters)
|
14
32
|
end
|
15
33
|
|
34
|
+
##
|
35
|
+
# Produces a SHA256 hash.
|
36
|
+
#
|
37
|
+
# @return [String]
|
38
|
+
#
|
39
|
+
# @example
|
40
|
+
# Faker::Crypto.sha256 #=> "51e4dbb424cd9db1ec5fb989514f2a35652ececef33f21c8dd1fd61bb8e3929d"
|
41
|
+
#
|
42
|
+
# @faker.version 1.6.4
|
16
43
|
def sha256
|
17
44
|
Digest::SHA256.hexdigest(Lorem.characters)
|
18
45
|
end
|
@@ -3,14 +3,41 @@
|
|
3
3
|
module Faker
|
4
4
|
class Currency < Base
|
5
5
|
class << self
|
6
|
+
##
|
7
|
+
# Produces the name of a currency.
|
8
|
+
#
|
9
|
+
# @return [String]
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Faker::Currency.name #=> "Swedish Krona"
|
13
|
+
#
|
14
|
+
# @faker.version 1.9.0
|
6
15
|
def name
|
7
16
|
fetch('currency.name')
|
8
17
|
end
|
9
18
|
|
19
|
+
##
|
20
|
+
# Produces a currency code.
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# Faker::Currency.code #=> "USD"
|
26
|
+
#
|
27
|
+
# @faker.version 1.9.0
|
10
28
|
def code
|
11
29
|
fetch('currency.code')
|
12
30
|
end
|
13
31
|
|
32
|
+
##
|
33
|
+
# Produces a currency symbol.
|
34
|
+
#
|
35
|
+
# @return [String]
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# Faker::Currency.symbol #=> "$"
|
39
|
+
#
|
40
|
+
# @faker.version 1.9.0
|
14
41
|
def symbol
|
15
42
|
fetch('currency.symbol')
|
16
43
|
end
|
data/lib/faker/default/date.rb
CHANGED
@@ -133,6 +133,30 @@ module Faker
|
|
133
133
|
between(from: from, to: to).to_date
|
134
134
|
end
|
135
135
|
|
136
|
+
##
|
137
|
+
# Produces a date in the year and/or month specified.
|
138
|
+
#
|
139
|
+
# @param month [Integer] represents the month of the date
|
140
|
+
# @param year [Integer] represents the year of the date
|
141
|
+
# @return [Date]
|
142
|
+
#
|
143
|
+
# @example
|
144
|
+
# Faker::Date.in_date_period #=> #<Date: 2019-09-01>
|
145
|
+
#
|
146
|
+
# @example
|
147
|
+
# Faker::Date.in_date_period(year: 2018, month: 2) #=> #<Date: 2018-02-26>
|
148
|
+
#
|
149
|
+
# @example
|
150
|
+
# Faker::Date.in_date_period(month: 2) #=> #<Date: 2019-02-26>
|
151
|
+
#
|
152
|
+
# @faker.version next
|
153
|
+
def in_date_period(month: nil, year: ::Date.today.year)
|
154
|
+
from = ::Date.new(year, month || 1, 1)
|
155
|
+
to = ::Date.new(year, month || 12, ::Date.civil(year, month || 12, -1).day)
|
156
|
+
|
157
|
+
between(from: from, to: to).to_date
|
158
|
+
end
|
159
|
+
|
136
160
|
private
|
137
161
|
|
138
162
|
def birthday_date(date, age)
|
@@ -3,26 +3,83 @@
|
|
3
3
|
module Faker
|
4
4
|
class Demographic < Base
|
5
5
|
class << self
|
6
|
+
##
|
7
|
+
# Produces the name of a race.
|
8
|
+
#
|
9
|
+
# @return [String]
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Faker::Demographic.race #=> "Native Hawaiian or Other Pacific Islander"
|
13
|
+
#
|
14
|
+
# @faker.version 1.7.3
|
6
15
|
def race
|
7
16
|
fetch('demographic.race')
|
8
17
|
end
|
9
18
|
|
19
|
+
##
|
20
|
+
# Produces a level of educational attainment.
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# Faker::Demographic.educational_attainment #=> "GED or alternative credential"
|
26
|
+
#
|
27
|
+
# @faker.version 1.7.3
|
10
28
|
def educational_attainment
|
11
29
|
fetch('demographic.educational_attainment')
|
12
30
|
end
|
13
31
|
|
32
|
+
##
|
33
|
+
# Produces a denonym.
|
34
|
+
#
|
35
|
+
# @return [String]
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# Faker::Demographic.denonym #=> "Panamanian"
|
39
|
+
#
|
40
|
+
# @faker.version 1.7.3
|
14
41
|
def demonym
|
15
42
|
fetch('demographic.demonym')
|
16
43
|
end
|
17
44
|
|
45
|
+
##
|
46
|
+
# Produces a marital status.
|
47
|
+
#
|
48
|
+
# @return [String]
|
49
|
+
#
|
50
|
+
# @example
|
51
|
+
# Faker::Demographic.marital_status #=> "Widowed"
|
52
|
+
#
|
53
|
+
# @faker.version 1.7.3
|
18
54
|
def marital_status
|
19
55
|
fetch('demographic.marital_status')
|
20
56
|
end
|
21
57
|
|
58
|
+
##
|
59
|
+
# Produces a sex for demographic purposes.
|
60
|
+
#
|
61
|
+
# @return [String]
|
62
|
+
#
|
63
|
+
# @example
|
64
|
+
# Faker::Demographic.sex #=> "Female"
|
65
|
+
#
|
66
|
+
# @faker.version 1.7.3
|
22
67
|
def sex
|
23
68
|
fetch('demographic.sex')
|
24
69
|
end
|
25
70
|
|
71
|
+
##
|
72
|
+
# Produces a height as a string.
|
73
|
+
#
|
74
|
+
# @param unit [Symbol] either `:metric` or `imperial`.
|
75
|
+
# @return [String]
|
76
|
+
#
|
77
|
+
# @example
|
78
|
+
# Faker::Demographic.height #=> "1.61"
|
79
|
+
# @example
|
80
|
+
# Faker::Demographic.height(unit: :imperial) #=> "6 ft, 2 in"
|
81
|
+
#
|
82
|
+
# @faker.version 1.7.3
|
26
83
|
def height(legacy_unit = NOT_GIVEN, unit: :metric)
|
27
84
|
warn_for_deprecated_arguments do |keywords|
|
28
85
|
keywords << :unit if legacy_unit != NOT_GIVEN
|
@@ -52,9 +52,9 @@ module Faker
|
|
52
52
|
year = dob.year % 10
|
53
53
|
month = gender == :female ? dob.month + 50 : dob.month
|
54
54
|
# Rubocop's preferred formatting is pretty gory
|
55
|
-
# rubocop:disable FormatString
|
55
|
+
# rubocop:disable Style/FormatString
|
56
56
|
"#{decade}#{'%02d' % month}#{'%02d' % dob.day}#{year}"
|
57
|
-
# rubocop:enable FormatString
|
57
|
+
# rubocop:enable Style/FormatString
|
58
58
|
end
|
59
59
|
|
60
60
|
def gb_licence_checksum
|
@@ -5,30 +5,84 @@ module Faker
|
|
5
5
|
flexible :educator
|
6
6
|
|
7
7
|
class << self
|
8
|
+
##
|
9
|
+
# Produces a university name.
|
10
|
+
#
|
11
|
+
# @return [String]
|
12
|
+
#
|
13
|
+
# @example
|
14
|
+
# Faker::Educator.university #=> "Mallowtown Technical College"
|
15
|
+
#
|
16
|
+
# @faker.version 1.6.4
|
8
17
|
def university
|
9
|
-
|
18
|
+
parse('educator.university')
|
10
19
|
end
|
11
20
|
|
21
|
+
##
|
22
|
+
# Produces a university degree.
|
23
|
+
#
|
24
|
+
# @return [String]
|
25
|
+
#
|
26
|
+
# @example
|
27
|
+
# Faker::Educator.degree #=> "Associate Degree in Criminology"
|
28
|
+
#
|
29
|
+
# @faker.version 1.9.2
|
12
30
|
def degree
|
13
|
-
|
31
|
+
parse('educator.degree')
|
14
32
|
end
|
15
33
|
|
16
34
|
alias course degree
|
17
35
|
|
36
|
+
##
|
37
|
+
# Produces a university subject.
|
38
|
+
#
|
39
|
+
# @return [String]
|
40
|
+
#
|
41
|
+
# @example
|
42
|
+
# Faker::Educator.subject #=> "Criminology"
|
43
|
+
#
|
44
|
+
# @faker.version 1.9.2
|
18
45
|
def subject
|
19
|
-
fetch('educator.
|
46
|
+
fetch('educator.subject')
|
20
47
|
end
|
21
48
|
|
49
|
+
##
|
50
|
+
# Produces a course name.
|
51
|
+
#
|
52
|
+
# @return [String]
|
53
|
+
#
|
54
|
+
# @example
|
55
|
+
# Faker::Educator.course_name #=> "Criminology 101"
|
56
|
+
#
|
57
|
+
# @faker.version 1.9.2
|
22
58
|
def course_name
|
23
|
-
|
59
|
+
numerify(parse('educator.course_name'))
|
24
60
|
end
|
25
61
|
|
62
|
+
##
|
63
|
+
# Produces a secondary school.
|
64
|
+
#
|
65
|
+
# @return [String]
|
66
|
+
#
|
67
|
+
# @example
|
68
|
+
# Faker::Educator.secondary_school #=> "Iceborough Secondary College"
|
69
|
+
#
|
70
|
+
# @faker.version 1.6.4
|
26
71
|
def secondary_school
|
27
|
-
|
72
|
+
parse('educator.secondary_school')
|
28
73
|
end
|
29
74
|
|
75
|
+
##
|
76
|
+
# Produces a campus name.
|
77
|
+
#
|
78
|
+
# @return [String]
|
79
|
+
#
|
80
|
+
# @example
|
81
|
+
# Faker::Educator.campus #=> "Vertapple Campus"
|
82
|
+
#
|
83
|
+
# @faker.version 1.6.4
|
30
84
|
def campus
|
31
|
-
|
85
|
+
parse('educator.campus')
|
32
86
|
end
|
33
87
|
end
|
34
88
|
end
|
data/lib/faker/default/esport.rb
CHANGED
@@ -3,22 +3,67 @@
|
|
3
3
|
module Faker
|
4
4
|
class Esport < Base
|
5
5
|
class << self
|
6
|
+
##
|
7
|
+
# Produces the name of a professional eSports player.
|
8
|
+
#
|
9
|
+
# @return [String]
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Faker::Esport.player #=> "Crimsix"
|
13
|
+
#
|
14
|
+
# @faker.version 1.7.0
|
6
15
|
def player
|
7
16
|
fetch('esport.players')
|
8
17
|
end
|
9
18
|
|
19
|
+
##
|
20
|
+
# Produces the name of an eSports team.
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# Faker::Esport.team #=> "CLG"
|
26
|
+
#
|
27
|
+
# @faker.version 1.7.0
|
10
28
|
def team
|
11
29
|
fetch('esport.teams')
|
12
30
|
end
|
13
31
|
|
32
|
+
##
|
33
|
+
# Produces the name of an eSports league.
|
34
|
+
#
|
35
|
+
# @return [String]
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# Faker::Esport.league #=> "IEM"
|
39
|
+
#
|
40
|
+
# @faker.version 1.7.0
|
14
41
|
def league
|
15
42
|
fetch('esport.leagues')
|
16
43
|
end
|
17
44
|
|
45
|
+
##
|
46
|
+
# Produces the name of an eSports event.
|
47
|
+
#
|
48
|
+
# @return [String]
|
49
|
+
#
|
50
|
+
# @example
|
51
|
+
# Faker::Esport.event #=> "ESL Cologne"
|
52
|
+
#
|
53
|
+
# @faker.version 1.7.0
|
18
54
|
def event
|
19
55
|
fetch('esport.events')
|
20
56
|
end
|
21
57
|
|
58
|
+
##
|
59
|
+
# Produces the name of a game played as an eSport.
|
60
|
+
#
|
61
|
+
# @return [String]
|
62
|
+
#
|
63
|
+
# @example
|
64
|
+
# Faker::Esport.game #=> "Dota 2"
|
65
|
+
#
|
66
|
+
# @faker.version 1.7.0
|
22
67
|
def game
|
23
68
|
fetch('esport.games')
|
24
69
|
end
|
@@ -4,8 +4,29 @@ module Faker
|
|
4
4
|
class Fillmurray < Base
|
5
5
|
class << self
|
6
6
|
# rubocop:disable Metrics/ParameterLists
|
7
|
+
|
8
|
+
##
|
9
|
+
# Produces the URL of an image from Fill Murray, a site which hosts
|
10
|
+
# exclusively photographs of actor Bill Murray.
|
11
|
+
#
|
12
|
+
# @param grayscale [Boolean] Whether to return a grayscale image.
|
13
|
+
# @param width [Integer] The iamage width.
|
14
|
+
# @param height [Integer] The image height.
|
15
|
+
# @return [String]
|
16
|
+
#
|
17
|
+
# @example
|
18
|
+
# Faker::Fillmurray.image #=> "https://www.fillmurray.com/300/300"
|
19
|
+
#
|
20
|
+
# @example
|
21
|
+
# Faker::Fillmurray.image(grayscale: true)
|
22
|
+
# #=> "https://fillmurray.com/g/300/300"
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# Faker::Fillmurray.image(grayscale: false, width: 200, height: 400)
|
26
|
+
# #=> "https://fillmurray.com/200/400"
|
27
|
+
#
|
28
|
+
# @faker.version 1.7.1
|
7
29
|
def image(legacy_grayscale = NOT_GIVEN, legacy_width = NOT_GIVEN, legacy_height = NOT_GIVEN, grayscale: false, width: 200, height: 200)
|
8
|
-
# rubocop:enable Metrics/ParameterLists
|
9
30
|
warn_for_deprecated_arguments do |keywords|
|
10
31
|
keywords << :grayscale if legacy_grayscale != NOT_GIVEN
|
11
32
|
keywords << :width if legacy_width != NOT_GIVEN
|
@@ -18,6 +39,7 @@ module Faker
|
|
18
39
|
|
19
40
|
"https://www.fillmurray.com#{'/g' if grayscale == true}/#{width}/#{height}"
|
20
41
|
end
|
42
|
+
# rubocop:enable Metrics/ParameterLists
|
21
43
|
end
|
22
44
|
end
|
23
45
|
end
|
data/lib/faker/default/food.rb
CHANGED
@@ -5,42 +5,106 @@ module Faker
|
|
5
5
|
flexible :food
|
6
6
|
|
7
7
|
class << self
|
8
|
-
|
8
|
+
##
|
9
|
+
# Retrieves a typical dish from each country.
|
10
|
+
#
|
11
|
+
# @return [String]
|
12
|
+
#
|
13
|
+
# @example
|
14
|
+
# Faker::Food.dish #=> "Feijoada"
|
15
|
+
#
|
16
|
+
# @faker.version 1.8.0
|
9
17
|
def dish
|
10
18
|
fetch('food.dish')
|
11
19
|
end
|
12
20
|
|
21
|
+
##
|
13
22
|
# Retrieves a description about some dish
|
23
|
+
#
|
24
|
+
# @return [String]
|
25
|
+
#
|
26
|
+
# @example
|
27
|
+
# Faker::Food.description #=> "Breaded fried chicken with waffles. Served with maple syrup."
|
28
|
+
#
|
29
|
+
# @faker.version 1.9.0
|
14
30
|
def description
|
15
31
|
fetch('food.descriptions')
|
16
32
|
end
|
17
33
|
|
34
|
+
##
|
18
35
|
# Retrieves an ingredient
|
36
|
+
#
|
37
|
+
# @return [String]
|
38
|
+
#
|
39
|
+
# @example
|
40
|
+
# Faker::Food.ingredient #=> "Olives"
|
41
|
+
#
|
42
|
+
# @faker.version 1.7.0
|
19
43
|
def ingredient
|
20
44
|
fetch('food.ingredients')
|
21
45
|
end
|
22
46
|
|
47
|
+
##
|
23
48
|
# Retrieves a fruit
|
49
|
+
#
|
50
|
+
# @return [String]
|
51
|
+
#
|
52
|
+
# @example
|
53
|
+
# Faker::Food.fruits #=> "Papaya"
|
54
|
+
#
|
55
|
+
# @faker.version 1.9.0
|
24
56
|
def fruits
|
25
57
|
fetch('food.fruits')
|
26
58
|
end
|
27
59
|
|
60
|
+
##
|
28
61
|
# Retrieves a vegetable
|
62
|
+
#
|
63
|
+
# @return [String]
|
64
|
+
#
|
65
|
+
# @example
|
66
|
+
# Faker::Food.vegetables #=> "Broccolini"
|
67
|
+
#
|
68
|
+
# @faker.version 1.9.0
|
29
69
|
def vegetables
|
30
70
|
fetch('food.vegetables')
|
31
71
|
end
|
32
72
|
|
73
|
+
##
|
33
74
|
# Retrieves some random spice
|
75
|
+
#
|
76
|
+
# @return [String]
|
77
|
+
#
|
78
|
+
# @example
|
79
|
+
# Faker::Food.spice #=> "Garlic Chips"
|
80
|
+
#
|
81
|
+
# @faker.version 1.7.0
|
34
82
|
def spice
|
35
83
|
fetch('food.spices')
|
36
84
|
end
|
37
85
|
|
86
|
+
##
|
38
87
|
# Retrieves cooking measures
|
88
|
+
#
|
89
|
+
# @return [String]
|
90
|
+
#
|
91
|
+
# @example
|
92
|
+
# Faker::Food.measurement #=> "1/3"
|
93
|
+
#
|
94
|
+
# @faker.version 1.7.0
|
39
95
|
def measurement
|
40
96
|
fetch('food.measurement_sizes') + ' ' + fetch('food.measurements')
|
41
97
|
end
|
42
98
|
|
99
|
+
##
|
43
100
|
# Retrieves metric mesurements
|
101
|
+
#
|
102
|
+
# @return [String]
|
103
|
+
#
|
104
|
+
# @example
|
105
|
+
# Faker::Food.metric_measurement #=> "centiliter"
|
106
|
+
#
|
107
|
+
# @faker.version 1.8.3
|
44
108
|
def metric_measurement
|
45
109
|
fetch('food.metric_measurements')
|
46
110
|
end
|