faker 2.5.0 → 2.9.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 +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
|