faker 2.11.0 → 2.12.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 +89 -0
- data/README.md +8 -2
- data/lib/faker.rb +14 -9
- data/lib/faker/default/address.rb +1 -1
- data/lib/faker/default/bank.rb +79 -0
- data/lib/faker/default/blood.rb +48 -0
- data/lib/faker/default/business.rb +1 -1
- data/lib/faker/default/commerce.rb +73 -10
- data/lib/faker/default/company.rb +39 -0
- 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/driving_licence.rb +42 -0
- data/lib/faker/default/file.rb +49 -0
- data/lib/faker/default/finance.rb +24 -0
- data/lib/faker/default/hipster.rb +94 -0
- data/lib/faker/default/invoice.rb +32 -5
- data/lib/faker/default/json.rb +55 -0
- data/lib/faker/default/measurement.rb +90 -0
- data/lib/faker/default/name.rb +83 -0
- data/lib/faker/default/phone_number.rb +88 -5
- data/lib/faker/default/placeholdit.rb +21 -0
- data/lib/faker/default/slack_emoji.rb +81 -0
- data/lib/faker/default/south_africa.rb +90 -0
- data/lib/faker/default/string.rb +19 -3
- data/lib/faker/default/stripe.rb +61 -0
- 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/games/control.rb +113 -0
- data/lib/faker/games/dnd.rb +61 -0
- data/lib/faker/games/warhammer_fantasy.rb +74 -0
- data/lib/faker/movies/departed.rb +49 -0
- data/lib/faker/music/pearl_jam.rb +50 -0
- data/lib/faker/music/phish.rb +27 -1
- data/lib/faker/music/show.rb +49 -0
- data/lib/faker/quotes/quote.rb +54 -1
- data/lib/faker/quotes/shakespeare.rb +36 -0
- data/lib/faker/tv_shows/suits.rb +37 -0
- data/lib/faker/version.rb +1 -1
- data/lib/helpers/char.rb +2 -1
- data/lib/locales/de-CH.yml +1693 -0
- data/lib/locales/en-AU.yml +44 -10
- data/lib/locales/en-CA.yml +2 -0
- data/lib/locales/en-US.yml +29 -3
- data/lib/locales/en/address.yml +2 -0
- data/lib/locales/en/blood.yml +13 -0
- data/lib/locales/en/computer.yml +36 -0
- data/lib/locales/en/control.yml +247 -0
- data/lib/locales/en/departed.yml +50 -0
- data/lib/locales/en/dnd.yml +54 -0
- data/lib/locales/en/heroes_of_the_storm.yml +1 -1
- data/lib/locales/en/house.yml +1 -1
- data/lib/locales/en/one_piece.yml +2 -2
- data/lib/locales/en/pearl_jam.yml +213 -0
- data/lib/locales/en/phish.yml +392 -1
- data/lib/locales/en/show.yml +597 -0
- data/lib/locales/en/star_wars.yml +568 -221
- data/lib/locales/en/suits.yml +45 -0
- data/lib/locales/en/warhammer_fantasy.yml +582 -0
- data/lib/locales/fr-CA.yml +2 -0
- data/lib/locales/ko.yml +82 -0
- data/lib/locales/pt-BR.yml +1 -0
- metadata +29 -11
@@ -399,6 +399,11 @@ module Faker
|
|
399
399
|
formatted ? format('%s.%s.%s/%s-%s', *number.scan(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/).flatten) : number
|
400
400
|
end
|
401
401
|
|
402
|
+
# Get a random Russian tax number.
|
403
|
+
def russian_tax_number(region: nil, type: :legal)
|
404
|
+
inn_number(region, type)
|
405
|
+
end
|
406
|
+
|
402
407
|
##
|
403
408
|
# Produces a company sic code.
|
404
409
|
#
|
@@ -491,6 +496,40 @@ module Faker
|
|
491
496
|
end
|
492
497
|
sum
|
493
498
|
end
|
499
|
+
|
500
|
+
# rubocop:disable Style/AsciiComments
|
501
|
+
#
|
502
|
+
# For more on Russian tax number algorithm here:
|
503
|
+
# https://ru.wikipedia.org/wiki/Идентификационный_номер_налогоплательщика#Вычисление_контрольных_цифр
|
504
|
+
#
|
505
|
+
# Range of regions:
|
506
|
+
# https://ru.wikipedia.org/wiki/Коды_субъектов_Российской_Федерации
|
507
|
+
#
|
508
|
+
# rubocop:enable Style/AsciiComments
|
509
|
+
def inn_number(region, type)
|
510
|
+
n10 = [2, 4, 10, 3, 5, 9, 4, 6, 8]
|
511
|
+
n11 = [7, 2, 4, 10, 3, 5, 9, 4, 6, 8]
|
512
|
+
n12 = [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8]
|
513
|
+
|
514
|
+
region = format('%.2d', rand(0o1..92)) if region.nil?
|
515
|
+
checksum = if type == :legal
|
516
|
+
number = region.to_s + rand(1_000_000..9_999_999).to_s
|
517
|
+
inn_checksum(n10, number)
|
518
|
+
else
|
519
|
+
number = region.to_s + rand(10_000_000..99_999_999).to_s
|
520
|
+
inn_checksum(n11, number) + inn_checksum(n12, number + inn_checksum(n11, number))
|
521
|
+
end
|
522
|
+
|
523
|
+
number + checksum
|
524
|
+
end
|
525
|
+
|
526
|
+
def inn_checksum(factor, number)
|
527
|
+
(
|
528
|
+
factor.map.with_index.reduce(0) do |v, i|
|
529
|
+
v + i[0] * number[i[1]].to_i
|
530
|
+
end % 11 % 10
|
531
|
+
).to_s
|
532
|
+
end
|
494
533
|
end
|
495
534
|
end
|
496
535
|
end
|
@@ -3,62 +3,197 @@
|
|
3
3
|
module Faker
|
4
4
|
class Compass < Base
|
5
5
|
class << self
|
6
|
+
##
|
7
|
+
# Produces a random cardinal.
|
8
|
+
#
|
9
|
+
# @return [String]
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Faker::Compass.cardinal #=> "north"
|
13
|
+
#
|
14
|
+
# @faker.version 1.8.0
|
6
15
|
def cardinal
|
7
16
|
fetch('compass.cardinal.word')
|
8
17
|
end
|
9
18
|
|
19
|
+
##
|
20
|
+
# Produces a random ordinal.
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# Faker::Compass.ordinal #=> "northwest"
|
26
|
+
#
|
27
|
+
# @faker.version 1.8.0
|
10
28
|
def ordinal
|
11
29
|
fetch('compass.ordinal.word')
|
12
30
|
end
|
13
31
|
|
32
|
+
##
|
33
|
+
# Produces a random half wind.
|
34
|
+
#
|
35
|
+
# @return [String]
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# Faker::Compass.half_wind #=> "north-northwest"
|
39
|
+
#
|
40
|
+
# @faker.version 1.8.0
|
14
41
|
def half_wind
|
15
42
|
fetch('compass.half-wind.word')
|
16
43
|
end
|
17
44
|
|
45
|
+
##
|
46
|
+
# Produces a random quarter wind.
|
47
|
+
#
|
48
|
+
# @return [String]
|
49
|
+
#
|
50
|
+
# @example
|
51
|
+
# Faker::Compass.quarter_wind #=> "north by west"
|
52
|
+
#
|
53
|
+
# @faker.version 1.8.0
|
18
54
|
def quarter_wind
|
19
55
|
fetch('compass.quarter-wind.word')
|
20
56
|
end
|
21
57
|
|
58
|
+
##
|
59
|
+
# Produces a random direction.
|
60
|
+
#
|
61
|
+
# @return [String]
|
62
|
+
#
|
63
|
+
# @example
|
64
|
+
# Faker::Compass.direction #=> "southeast"
|
65
|
+
#
|
66
|
+
# @faker.version 1.8.0
|
22
67
|
def direction
|
23
68
|
parse('compass.direction')
|
24
69
|
end
|
25
70
|
|
71
|
+
##
|
72
|
+
# Produces a random abbreviation.
|
73
|
+
#
|
74
|
+
# @return [String]
|
75
|
+
#
|
76
|
+
# @example
|
77
|
+
# Faker::Compass.abbreviation #=> "NEbN"
|
78
|
+
#
|
79
|
+
# @faker.version 1.8.0
|
26
80
|
def abbreviation
|
27
81
|
parse('compass.abbreviation')
|
28
82
|
end
|
29
83
|
|
84
|
+
##
|
85
|
+
# Produces a random azimuth.
|
86
|
+
#
|
87
|
+
# @return [String]
|
88
|
+
#
|
89
|
+
# @example
|
90
|
+
# Faker::Compass.azimuth #=> "168.75"
|
91
|
+
#
|
92
|
+
# @faker.version 1.8.0
|
30
93
|
def azimuth
|
31
94
|
parse('compass.azimuth')
|
32
95
|
end
|
33
96
|
|
97
|
+
##
|
98
|
+
# Produces a random cardinal abbreviation.
|
99
|
+
#
|
100
|
+
# @return [String]
|
101
|
+
#
|
102
|
+
# @example
|
103
|
+
# Faker::Compass.cardinal_abbreviation #=> "N"
|
104
|
+
#
|
105
|
+
# @faker.version 1.8.0
|
34
106
|
def cardinal_abbreviation
|
35
107
|
fetch('compass.cardinal.abbreviation')
|
36
108
|
end
|
37
109
|
|
110
|
+
##
|
111
|
+
# Produces a random ordinal abbreviation.
|
112
|
+
#
|
113
|
+
# @return [String]
|
114
|
+
#
|
115
|
+
# @example
|
116
|
+
# Faker::Compass.ordinal_abbreviation #=> "SW"
|
117
|
+
#
|
118
|
+
# @faker.version 1.8.0
|
38
119
|
def ordinal_abbreviation
|
39
120
|
fetch('compass.ordinal.abbreviation')
|
40
121
|
end
|
41
122
|
|
123
|
+
##
|
124
|
+
# Produces a random half wind abbreviation.
|
125
|
+
#
|
126
|
+
# @return [String]
|
127
|
+
#
|
128
|
+
# @example
|
129
|
+
# Faker::Compass.half_wind_abbreviation #=> "NNE"
|
130
|
+
#
|
131
|
+
# @faker.version 1.8.0
|
42
132
|
def half_wind_abbreviation
|
43
133
|
fetch('compass.half-wind.abbreviation')
|
44
134
|
end
|
45
135
|
|
136
|
+
##
|
137
|
+
# Produces a random quarter wind abbreviation.
|
138
|
+
#
|
139
|
+
# @return [String]
|
140
|
+
#
|
141
|
+
# @example
|
142
|
+
# Faker::Compass.quarter_wind_abbreviation #=> "SWbS"
|
143
|
+
#
|
144
|
+
# @faker.version 1.8.0
|
46
145
|
def quarter_wind_abbreviation
|
47
146
|
fetch('compass.quarter-wind.abbreviation')
|
48
147
|
end
|
49
148
|
|
149
|
+
##
|
150
|
+
# Produces a random cardinal azimuth.
|
151
|
+
#
|
152
|
+
# @return [String]
|
153
|
+
#
|
154
|
+
# @example
|
155
|
+
# Faker::Compass.cardinal_azimuth #=> "90"
|
156
|
+
#
|
157
|
+
# @faker.version 1.8.0
|
50
158
|
def cardinal_azimuth
|
51
159
|
fetch('compass.cardinal.azimuth')
|
52
160
|
end
|
53
161
|
|
162
|
+
##
|
163
|
+
# Produces a random ordinal azimuth.
|
164
|
+
#
|
165
|
+
# @return [String]
|
166
|
+
#
|
167
|
+
# @example
|
168
|
+
# Faker::Compass.ordinal_azimuth #=> "135"
|
169
|
+
#
|
170
|
+
# @faker.version 1.8.0
|
54
171
|
def ordinal_azimuth
|
55
172
|
fetch('compass.ordinal.azimuth')
|
56
173
|
end
|
57
174
|
|
175
|
+
##
|
176
|
+
# Produces a random half wind azimuth.
|
177
|
+
#
|
178
|
+
# @return [String]
|
179
|
+
#
|
180
|
+
# @example
|
181
|
+
# Faker::Compass.half_wind_azimuth #=> "292.5"
|
182
|
+
#
|
183
|
+
# @faker.version 1.8.0
|
58
184
|
def half_wind_azimuth
|
59
185
|
fetch('compass.half-wind.azimuth')
|
60
186
|
end
|
61
187
|
|
188
|
+
##
|
189
|
+
# Produces a random quarter wind azimuth
|
190
|
+
#
|
191
|
+
# @return [String]
|
192
|
+
#
|
193
|
+
# @example
|
194
|
+
# Faker::Compass.quarter_wind_azimuth #=> "56.25"
|
195
|
+
#
|
196
|
+
# @faker.version 1.8.0
|
62
197
|
def quarter_wind_azimuth
|
63
198
|
fetch('compass.quarter-wind.azimuth')
|
64
199
|
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Computer < Base
|
5
|
+
class << self
|
6
|
+
##
|
7
|
+
# Produces the name of a computer platform.
|
8
|
+
#
|
9
|
+
# @return [String]
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Faker::Computer.platform #=> "Linux"
|
13
|
+
#
|
14
|
+
# @faker.version next
|
15
|
+
def platform
|
16
|
+
fetch('computer.platform')
|
17
|
+
end
|
18
|
+
|
19
|
+
##
|
20
|
+
# Produces the name of a computer type.
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# Faker::Computer.type #=> "server"
|
26
|
+
#
|
27
|
+
# @faker.version next
|
28
|
+
def type
|
29
|
+
fetch('computer.type')
|
30
|
+
end
|
31
|
+
|
32
|
+
##
|
33
|
+
# Produces the name of a computer os.
|
34
|
+
#
|
35
|
+
# @param platform [String] optionally specify the platform `linux`, `macos`, or `windows`.
|
36
|
+
# @return [String]
|
37
|
+
#
|
38
|
+
# @example
|
39
|
+
# Faker::Computer.os #=> "RHEL 6.10"
|
40
|
+
#
|
41
|
+
# @faker.version next
|
42
|
+
def os(platform: self.platform)
|
43
|
+
platform = self.platform unless fetch_all('computer.platform').include?(platform)
|
44
|
+
fetch("computer.os.#{platform.downcase}")
|
45
|
+
end
|
46
|
+
|
47
|
+
##
|
48
|
+
# Produces a string with computer platform and os
|
49
|
+
#
|
50
|
+
# @return [String]
|
51
|
+
#
|
52
|
+
# @example
|
53
|
+
# Faker::Computer.stack #=> "Linux, RHEL 6.10"
|
54
|
+
#
|
55
|
+
# @faker.version next
|
56
|
+
def stack
|
57
|
+
platform = self.platform
|
58
|
+
os = fetch("computer.os.#{platform.downcase}")
|
59
|
+
"#{platform}, #{os}"
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -2,26 +2,80 @@
|
|
2
2
|
|
3
3
|
module Faker
|
4
4
|
class Construction < Base
|
5
|
+
##
|
6
|
+
# Produces a random material.
|
7
|
+
#
|
8
|
+
# @return [String]
|
9
|
+
#
|
10
|
+
# @example
|
11
|
+
# Faker::Construction.material #=> "Wood"
|
12
|
+
#
|
13
|
+
# @faker.version 1.9.2
|
5
14
|
def self.material
|
6
15
|
fetch('construction.materials')
|
7
16
|
end
|
8
17
|
|
18
|
+
##
|
19
|
+
# Produces a random heavy equipment.
|
20
|
+
#
|
21
|
+
# @return [String]
|
22
|
+
#
|
23
|
+
# @example
|
24
|
+
# Faker::Construction.heavy_equipment #=> "Excavator"
|
25
|
+
#
|
26
|
+
# @faker.version 1.9.2
|
9
27
|
def self.heavy_equipment
|
10
28
|
fetch('construction.heavy_equipment')
|
11
29
|
end
|
12
30
|
|
31
|
+
##
|
32
|
+
# Produces a random trade.
|
33
|
+
#
|
34
|
+
# @return [String]
|
35
|
+
#
|
36
|
+
# @example
|
37
|
+
# Faker::Construction.trade #=> "Carpenter"
|
38
|
+
#
|
39
|
+
# @faker.version 1.9.2
|
13
40
|
def self.trade
|
14
41
|
fetch('construction.trades')
|
15
42
|
end
|
16
43
|
|
44
|
+
##
|
45
|
+
# Produces a random subcontract category.
|
46
|
+
#
|
47
|
+
# @return [String]
|
48
|
+
#
|
49
|
+
# @example
|
50
|
+
# Faker::Construction.subcontract_category #=> "Curb & Gutter"
|
51
|
+
#
|
52
|
+
# @faker.version 1.9.2
|
17
53
|
def self.subcontract_category
|
18
54
|
fetch('construction.subcontract_categories')
|
19
55
|
end
|
20
56
|
|
57
|
+
##
|
58
|
+
# Produces a random standard cost code.
|
59
|
+
#
|
60
|
+
# @return [String]
|
61
|
+
#
|
62
|
+
# @example
|
63
|
+
# Faker::Construction.standard_cost_code #=> "1-000 - Purpose"
|
64
|
+
#
|
65
|
+
# @faker.version 1.9.2
|
21
66
|
def self.standard_cost_code
|
22
67
|
fetch('construction.standard_cost_codes')
|
23
68
|
end
|
24
69
|
|
70
|
+
##
|
71
|
+
# Produces a random role.
|
72
|
+
#
|
73
|
+
# @return [String]
|
74
|
+
#
|
75
|
+
# @example
|
76
|
+
# Faker::Construction.role #=> "Engineer"
|
77
|
+
#
|
78
|
+
# @faker.version 1.9.2
|
25
79
|
def self.role
|
26
80
|
fetch('construction.roles')
|
27
81
|
end
|
@@ -4,42 +4,132 @@ module Faker
|
|
4
4
|
class Cosmere < Base
|
5
5
|
flexible :cosmere
|
6
6
|
class << self
|
7
|
+
##
|
8
|
+
# Produces a random aon.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
#
|
12
|
+
# @example
|
13
|
+
# Faker::Cosmere.aon #=> "Rao"
|
14
|
+
#
|
15
|
+
# @faker.version 1.9.2
|
7
16
|
def aon
|
8
17
|
sample(aons)
|
9
18
|
end
|
10
19
|
|
20
|
+
##
|
21
|
+
# Produces a random shard world.
|
22
|
+
#
|
23
|
+
# @return [String]
|
24
|
+
#
|
25
|
+
# @example
|
26
|
+
# Faker::Cosmere.shard_world #=> "Yolen"
|
27
|
+
#
|
28
|
+
# @faker.version 1.9.2
|
11
29
|
def shard_world
|
12
30
|
sample(shard_worlds)
|
13
31
|
end
|
14
32
|
|
33
|
+
##
|
34
|
+
# Produces a random shard.
|
35
|
+
#
|
36
|
+
# @return [String]
|
37
|
+
#
|
38
|
+
# @example
|
39
|
+
# Faker::Cosmere.shard #=> "Ambition"
|
40
|
+
#
|
41
|
+
# @faker.version 1.9.2
|
15
42
|
def shard
|
16
43
|
sample(shards)
|
17
44
|
end
|
18
45
|
|
46
|
+
##
|
47
|
+
# Produces a random surge.
|
48
|
+
#
|
49
|
+
# @return [String]
|
50
|
+
#
|
51
|
+
# @example
|
52
|
+
# Faker::Cosmere.surge #=> "Progression"
|
53
|
+
#
|
54
|
+
# @faker.version 1.9.2
|
19
55
|
def surge
|
20
56
|
sample(surges)
|
21
57
|
end
|
22
58
|
|
59
|
+
##
|
60
|
+
# Produces a random knight radiant.
|
61
|
+
#
|
62
|
+
# @return [String]
|
63
|
+
#
|
64
|
+
# @example
|
65
|
+
# Faker::Cosmere.knight_radiant #=> "Truthwatcher"
|
66
|
+
#
|
67
|
+
# @faker.version 1.9.2
|
23
68
|
def knight_radiant
|
24
69
|
sample(knights_radiant)
|
25
70
|
end
|
26
71
|
|
72
|
+
##
|
73
|
+
# Produces a random metal.
|
74
|
+
#
|
75
|
+
# @return [String]
|
76
|
+
#
|
77
|
+
# @example
|
78
|
+
# Faker::Cosmere.metal #=> "Brass"
|
79
|
+
#
|
80
|
+
# @faker.version 1.9.2
|
27
81
|
def metal
|
28
82
|
sample(metals)
|
29
83
|
end
|
30
84
|
|
85
|
+
##
|
86
|
+
# Produces a random allomancer.
|
87
|
+
#
|
88
|
+
# @return [String]
|
89
|
+
#
|
90
|
+
# @example
|
91
|
+
# Faker::Cosmere.allomancer #=> "Coinshot"
|
92
|
+
#
|
93
|
+
# @faker.version 1.9.2
|
31
94
|
def allomancer
|
32
95
|
sample(allomancers)
|
33
96
|
end
|
34
97
|
|
98
|
+
##
|
99
|
+
# Produces a random feruchemist.
|
100
|
+
#
|
101
|
+
# @return [String]
|
102
|
+
#
|
103
|
+
# @example
|
104
|
+
# Faker::Cosmere.feruchemist #=> "Archivist"
|
105
|
+
#
|
106
|
+
# @faker.version 1.9.2
|
35
107
|
def feruchemist
|
36
108
|
sample(feruchemists)
|
37
109
|
end
|
38
110
|
|
111
|
+
##
|
112
|
+
# Produces a random herald.
|
113
|
+
#
|
114
|
+
# @return [String]
|
115
|
+
#
|
116
|
+
# @example
|
117
|
+
# Faker::Cosmere.herald #=> "Ishar"
|
118
|
+
#
|
119
|
+
# @faker.version 1.9.2
|
39
120
|
def herald
|
40
121
|
sample(heralds)
|
41
122
|
end
|
42
123
|
|
124
|
+
##
|
125
|
+
# Produces a random spren.
|
126
|
+
#
|
127
|
+
# @return [String]
|
128
|
+
#
|
129
|
+
# @example
|
130
|
+
# Faker::Cosmere.spren #=> "Flamespren"
|
131
|
+
#
|
132
|
+
# @faker.version 1.9.2
|
43
133
|
def spren
|
44
134
|
sample(sprens)
|
45
135
|
end
|