faker 2.20.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +184 -7
  3. data/History.md +1 -1
  4. data/README.md +15 -11
  5. data/lib/faker/blockchain/aeternity.rb +1 -1
  6. data/lib/faker/blockchain/ethereum.rb +1 -1
  7. data/lib/faker/blockchain/tezos.rb +1 -1
  8. data/lib/faker/books/dune.rb +2 -10
  9. data/lib/faker/books/lovecraft.rb +7 -38
  10. data/lib/faker/default/address.rb +5 -25
  11. data/lib/faker/default/{faker_adjective.rb → adjective.rb} +0 -0
  12. data/lib/faker/default/alphanumeric.rb +2 -8
  13. data/lib/faker/default/app.rb +1 -10
  14. data/lib/faker/default/avatar.rb +1 -12
  15. data/lib/faker/default/bank.rb +9 -17
  16. data/lib/faker/default/boolean.rb +1 -4
  17. data/lib/faker/default/chile_rut.rb +8 -14
  18. data/lib/faker/default/code.rb +10 -23
  19. data/lib/faker/default/color.rb +77 -6
  20. data/lib/faker/default/commerce.rb +3 -17
  21. data/lib/faker/default/company.rb +6 -14
  22. data/lib/faker/default/crypto_coin.rb +3 -15
  23. data/lib/faker/default/date.rb +5 -38
  24. data/lib/faker/default/demographic.rb +1 -5
  25. data/lib/faker/default/driving_licence.rb +1 -11
  26. data/lib/faker/default/file.rb +5 -24
  27. data/lib/faker/default/fillmurray.rb +1 -10
  28. data/lib/faker/default/finance.rb +17 -7
  29. data/lib/faker/default/hipster.rb +6 -45
  30. data/lib/faker/default/id_number.rb +108 -11
  31. data/lib/faker/default/internet.rb +34 -71
  32. data/lib/faker/default/invoice.rb +3 -16
  33. data/lib/faker/default/json.rb +2 -20
  34. data/lib/faker/default/lorem.rb +9 -66
  35. data/lib/faker/default/lorem_flickr.rb +4 -32
  36. data/lib/faker/default/lorem_pixel.rb +4 -10
  37. data/lib/faker/default/markdown.rb +6 -11
  38. data/lib/faker/default/measurement.rb +8 -40
  39. data/lib/faker/default/name.rb +1 -5
  40. data/lib/faker/default/nhs.rb +2 -6
  41. data/lib/faker/default/number.rb +10 -55
  42. data/lib/faker/default/omniauth.rb +5 -39
  43. data/lib/faker/default/phone_number.rb +1 -5
  44. data/lib/faker/default/placeholdit.rb +1 -12
  45. data/lib/faker/default/relationship.rb +1 -5
  46. data/lib/faker/default/source.rb +3 -16
  47. data/lib/faker/default/string.rb +1 -5
  48. data/lib/faker/default/stripe.rb +4 -20
  49. data/lib/faker/default/time.rb +4 -32
  50. data/lib/faker/default/twitter.rb +3 -17
  51. data/lib/faker/default/types.rb +5 -27
  52. data/lib/faker/default/vehicle.rb +21 -21
  53. data/lib/faker/default/vulnerability_identifier.rb +23 -0
  54. data/lib/faker/default/world_cup.rb +2 -11
  55. data/lib/faker/games/dota.rb +1 -5
  56. data/lib/faker/games/tarkov.rb +205 -0
  57. data/lib/faker/japanese_media/kamen_rider.rb +2 -2
  58. data/lib/faker/japanese_media/one_piece.rb +1 -1
  59. data/lib/faker/movies/hackers.rb +48 -0
  60. data/lib/faker/movies/star_wars.rb +1 -5
  61. data/lib/faker/movies/tron.rb +161 -0
  62. data/lib/faker/sports/mountaineering.rb +22 -0
  63. data/lib/faker/sports/sport.rb +110 -0
  64. data/lib/faker/version.rb +1 -1
  65. data/lib/faker.rb +15 -63
  66. data/lib/helpers/base58.rb +1 -1
  67. data/lib/helpers/unique_generator.rb +13 -11
  68. data/lib/locales/en/australia.yml +3 -4
  69. data/lib/locales/en/computer.yml +23 -4
  70. data/lib/locales/en/dota.yml +113 -0
  71. data/lib/locales/en/file.yml +9 -1
  72. data/lib/locales/en/finance.yml +3 -1
  73. data/lib/locales/en/game.yml +0 -1
  74. data/lib/locales/en/hackers.yml +53 -0
  75. data/lib/locales/en/heroes.yml +2 -2
  76. data/lib/locales/en/internet.yml +29 -0
  77. data/lib/locales/en/mountaineering.yml +14 -0
  78. data/lib/locales/en/movie.yml +2 -1
  79. data/lib/locales/en/naruto.yml +2 -3
  80. data/lib/locales/en/one_piece.yml +1 -1
  81. data/lib/locales/en/opera.yml +1 -1
  82. data/lib/locales/en/overwatch.yml +5 -7
  83. data/lib/locales/en/source.yml +5 -0
  84. data/lib/locales/en/sport.yml +130 -0
  85. data/lib/locales/en/tarkov.yml +593 -0
  86. data/lib/locales/en/tron.yml +227 -0
  87. data/lib/locales/en/vehicle.yml +2809 -75
  88. data/lib/locales/en-AU.yml +1 -1
  89. data/lib/locales/en-CA.yml +1 -0
  90. data/lib/locales/es-AR.yml +2 -2
  91. data/lib/locales/fi-FI.yml +2 -1
  92. data/lib/locales/fr/adjective.yml +266 -0
  93. data/lib/locales/fr/ancient.yml +141 -0
  94. data/lib/locales/hy.yml +1 -1
  95. data/lib/locales/ja/adjective.yml +148 -0
  96. data/lib/locales/ja/dog.yml +1 -0
  97. data/lib/locales/ja/emotion.yml +51 -0
  98. data/lib/locales/ja/naruto.yml +230 -0
  99. data/lib/locales/ja/relationship.yml +10 -0
  100. data/lib/locales/pl.yml +1 -1
  101. data/lib/locales/th.yml +76 -76
  102. metadata +65 -25
@@ -0,0 +1,205 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Games
5
+ class Tarkov < Base
6
+ class << self
7
+ ##
8
+ # Produces a random location from Escape from Tarkov.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Games::Tarkov.location #=> "Customs"
14
+ #
15
+ # @faker.version next
16
+ def location
17
+ fetch('tarkov.locations')
18
+ end
19
+
20
+ ##
21
+ # Produces a random trader from Escape from Tarkov.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Games::Tarkov.trader #=> "Prapor"
27
+ #
28
+ # @faker.version next
29
+ def trader
30
+ fetch('tarkov.traders')
31
+ end
32
+
33
+ ##
34
+ # Produces a random item from Escape from Tarkov.
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Games::Tarkov.item #=> "Diary"
40
+ #
41
+ # @faker.version next
42
+ def item
43
+ fetch('tarkov.items')
44
+ end
45
+
46
+ ##
47
+ # Produces a random weapon from Escape from Tarkov.
48
+ #
49
+ # @return [String]
50
+ #
51
+ # @example
52
+ # Faker::Games::Tarkov.weapon #=> "AK-74N"
53
+ #
54
+ # @faker.version next
55
+ def weapon
56
+ fetch('tarkov.weapons')
57
+ end
58
+
59
+ ##
60
+ # Produces a random boss from Escape from Tarkov.
61
+ #
62
+ # @return [String]
63
+ #
64
+ # @example
65
+ # Faker::Games::Tarkov.boss #=> "Tagilla"
66
+ #
67
+ # @faker.version next
68
+ def boss
69
+ fetch('tarkov.bosses')
70
+ end
71
+
72
+ ##
73
+ # Produces a random faction from Escape from Tarkov.
74
+ #
75
+ # @return [String]
76
+ #
77
+ # @example
78
+ # Faker::Games::Tarkov.faction #=> "USEC"
79
+ #
80
+ # @faker.version next
81
+ def faction
82
+ fetch('tarkov.factions')
83
+ end
84
+
85
+ ##
86
+ # Produces a random quest from a random trader from Escape from Tarkov.
87
+ #
88
+ # @return [String]
89
+ #
90
+ # @example
91
+ # Faker::Games::Tarkov.quest #=> "The Key to Success"
92
+ #
93
+ # @faker.version next
94
+ def quest
95
+ @traders = %w[prapor therapist skier peacekeeper mechanic ragman jaeger fence]
96
+ fetch("tarkov.quests.#{@traders.sample}")
97
+ end
98
+
99
+ ##
100
+ # Produces a random quest from Prapor from Escape from Tarkov.
101
+ #
102
+ # @return [String]
103
+ #
104
+ # @example
105
+ # Faker::Games::Tarkov.prapor_quest #=> "Easy Job - Part 2
106
+ #
107
+ # @faker.version next
108
+ def prapor_quest
109
+ fetch('tarkov.quests.prapor')
110
+ end
111
+
112
+ ##
113
+ # Produces a random quest from Therapist from Escape from Tarkov.
114
+ #
115
+ # @return [String]
116
+ #
117
+ # @example
118
+ # Faker::Games::Tarkov.therapist_quest #=> "Supply Plans"
119
+ #
120
+ # @faker.version next
121
+ def therapist_quest
122
+ fetch('tarkov.quests.therapist')
123
+ end
124
+
125
+ ##
126
+ # Produces a random quest from Skier from Escape from Tarkov.
127
+ #
128
+ # @return [String]
129
+ #
130
+ # @example
131
+ # Faker::Games::Tarkov.skier_quest #=> "Safe Corridor"
132
+ #
133
+ # @faker.version next
134
+ def skier_quest
135
+ fetch('tarkov.quests.skier')
136
+ end
137
+
138
+ ##
139
+ # Produces a random quest from Peacekeeper from Escape from Tarkov.
140
+ #
141
+ # @return [String]
142
+ #
143
+ # @example
144
+ # Faker::Games::Tarkov.peacekeeper_quest #=> "Overpopulation"
145
+ #
146
+ # @faker.version next
147
+ def peacekeeper_quest
148
+ fetch('tarkov.quests.peacekeeper')
149
+ end
150
+
151
+ ##
152
+ # Produces a random quest from Mechanic from Escape from Tarkov.
153
+ #
154
+ # @return [String]
155
+ #
156
+ # @example
157
+ # Faker::Games::Tarkov.mechanic_quest #=> "Signal - Part 4"
158
+ #
159
+ # @faker.version next
160
+ def mechanic_quest
161
+ fetch('tarkov.quests.mechanic')
162
+ end
163
+
164
+ ##
165
+ # Produces a random quest from Ragman from Escape from Tarkov.
166
+ #
167
+ # @return [String]
168
+ #
169
+ # @example
170
+ # Faker::Games::Tarkov.ragman_quest #=> "Hot Delivery"
171
+ #
172
+ # @faker.version next
173
+ def ragman_quest
174
+ fetch('tarkov.quests.ragman')
175
+ end
176
+
177
+ ##
178
+ # Produces a random quest from Jaeger from Escape from Tarkov.
179
+ #
180
+ # @return [String]
181
+ #
182
+ # @example
183
+ # Faker::Games::Tarkov.jaeger_quest #=> "The Tarkov Shooter - Part 1"
184
+ #
185
+ # @faker.version next
186
+ def jaeger_quest
187
+ fetch('tarkov.quests.jaeger')
188
+ end
189
+
190
+ ##
191
+ # Produces a random quest from Fence from Escape from Tarkov.
192
+ #
193
+ # @return [String]
194
+ #
195
+ # @example
196
+ # Faker::Games::Tarkov.fence_quest #=> "Compensation for Damage - Wager"
197
+ #
198
+ # @faker.version next
199
+ def fence_quest
200
+ fetch('tarkov.quests.fence')
201
+ end
202
+ end
203
+ end
204
+ end
205
+ end
@@ -83,14 +83,14 @@ module Faker
83
83
  end
84
84
 
85
85
  def from_eras(*input_eras, field:)
86
- selected_eras = (ERAS & input_eras).yield_self do |selected|
86
+ selected_eras = (ERAS & input_eras).then do |selected|
87
87
  selected.empty? ? eras : selected
88
88
  end.dup
89
89
  yield(selected_eras) if block_given?
90
90
 
91
91
  raise UnavailableInEra, "#{field} is unavailable in the selected eras." if selected_eras.empty?
92
92
 
93
- selected_eras.sample.yield_self do |era|
93
+ selected_eras.sample.then do |era|
94
94
  fetch("kamen_rider.#{era}.#{field}")
95
95
  end
96
96
  end
@@ -79,7 +79,7 @@ module Faker
79
79
  #
80
80
  # @faker.version 1.8.5
81
81
  def akuma_no_mi
82
- fetch('one_piece.akumas_no_mi')
82
+ fetch('one_piece.akuma_no_mi')
83
83
  end
84
84
  end
85
85
  end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Movies
5
+ class Hackers < Base
6
+ class << self
7
+ ##
8
+ # Produces a real character name from Hackers.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Movies::Hackers.character #=> "Dade Murphy"
14
+ #
15
+ # @faker.version next
16
+ def character
17
+ fetch('hackers.characters')
18
+ end
19
+
20
+ ##
21
+ # Produces a character hacker "handle" from Hackers.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Movies::Hackers.handle #=> "Zero Cool"
27
+ #
28
+ # @faker.version next
29
+ def handle
30
+ fetch('hackers.handles')
31
+ end
32
+
33
+ ##
34
+ # Produces a quote from Hackers.
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Movies::Hackers.quote #=> "Hack the Planet!"
40
+ #
41
+ # @faker.version next
42
+ def quote
43
+ fetch('hackers.quotes')
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -138,11 +138,7 @@ module Faker
138
138
  # #=> "Aren't you a little short for a Stormtrooper?"
139
139
  #
140
140
  # @faker.version 1.6.2
141
- def quote(legacy_character = NOT_GIVEN, character: nil)
142
- warn_for_deprecated_arguments do |keywords|
143
- keywords << :character if legacy_character != NOT_GIVEN
144
- end
145
-
141
+ def quote(character: nil)
146
142
  quoted_characters = translate('faker.star_wars.quotes')
147
143
 
148
144
  if character.nil?
@@ -0,0 +1,161 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Movies
5
+ class Tron < Base
6
+ class << self
7
+ ##
8
+ # Produces a character from Tron.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Movies::Tron.character #=> "Bit"
14
+ #
15
+ # @faker.version next
16
+ def character
17
+ sample(characters)
18
+ end
19
+
20
+ ##
21
+ # Produces a game from Tron.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Movies::Tron.game #=> "Space Paranoids"
27
+ #
28
+ # @faker.version next
29
+ def game
30
+ sample(games)
31
+ end
32
+
33
+ ##
34
+ # Produces a location from Tron.
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Movies::Tron.location #=> "Flynn's Arcade"
40
+ #
41
+ # @faker.version next
42
+ def location
43
+ sample(locations)
44
+ end
45
+
46
+ ##
47
+ # Produces a program from Tron.
48
+ #
49
+ # @return [String]
50
+ #
51
+ # @example
52
+ # Faker::Movies::Tron.program #=> "Clu"
53
+ #
54
+ # @faker.version next
55
+ def program
56
+ sample(programs)
57
+ end
58
+
59
+ ##
60
+ # Produces a quote from Tron.
61
+ #
62
+ # @param character [String] The name of a character to derive a quote from.
63
+ # @return [String]
64
+ #
65
+ # @example
66
+ # Faker::Movies::Tron.quote #=> "Greetings, Programs!"
67
+ #
68
+ # @example
69
+ # Faker::Movies::Tron.quote(character: "mcp")
70
+ # #=> "End of Line."
71
+ #
72
+ # @faker.version next
73
+ def quote(character: nil)
74
+ quoted_characters = translate('faker.tron.quotes')
75
+
76
+ if character.nil?
77
+ character = sample(quoted_characters.keys).to_s
78
+ else
79
+ character = character.to_s.downcase
80
+
81
+ # check alternate spellings, nicknames, titles of characters
82
+ translate('faker.tron.alternate_character_spellings').each do |k, v|
83
+ character = k.to_s if v.include?(character)
84
+ end
85
+
86
+ raise ArgumentError, "Character for quotes can be left blank or #{quoted_characters.keys.join(', ')}" unless quoted_characters.key?(character.to_sym)
87
+ end
88
+
89
+ fetch("tron.quotes.#{character}")
90
+ end
91
+
92
+ ##
93
+ # Produces a tagline from Tron.
94
+ #
95
+ # @return [String]
96
+ #
97
+ # @example
98
+ # Faker::Movies::Tron.tagline #=> "The Electronic Gladiator"
99
+ #
100
+ # @faker.version next
101
+ def tagline
102
+ sample(taglines)
103
+ end
104
+
105
+ ##
106
+ # Produces a user from Tron.
107
+ #
108
+ # @return [String]
109
+ #
110
+ # @example
111
+ # Faker::Movies::Tron.user #=> "Light Cycle"
112
+ #
113
+ # @faker.version next
114
+ def user
115
+ sample(users)
116
+ end
117
+
118
+ ##
119
+ # Produces a vehicle from Tron.
120
+ #
121
+ # @return [String]
122
+ #
123
+ # @example
124
+ # Faker::Movies::Tron.vehicle #=> "Light Cycle"
125
+ #
126
+ # @faker.version next
127
+ def vehicle
128
+ sample(vehicles)
129
+ end
130
+
131
+ def characters
132
+ translate('faker.tron.characters').values.flatten
133
+ end
134
+
135
+ def games
136
+ fetch_all('tron.games')
137
+ end
138
+
139
+ def locations
140
+ fetch_all('tron.locations')
141
+ end
142
+
143
+ def programs
144
+ fetch_all('tron.characters.programs')
145
+ end
146
+
147
+ def taglines
148
+ fetch_all('tron.taglines')
149
+ end
150
+
151
+ def users
152
+ fetch_all('tron.characters.users')
153
+ end
154
+
155
+ def vehicles
156
+ fetch_all('tron.vehicles')
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Sports
5
+ class Mountaineering < Base
6
+ class << self
7
+ ##
8
+ # Produces the name of a Mountaineer.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Sports::Mountaineering.mountaineer #=> "Junko Tabei"
14
+ #
15
+ # @faker.version next
16
+ def mountaineer
17
+ fetch('mountaineering.mountaineer')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Sport < Base
5
+ class << self
6
+ ##
7
+ # Produces a sport from the modern olympics or paralympics, summer or winter.
8
+ #
9
+ # @param include_ancient [Boolean] If true, may produce a sport from the ancient olympics
10
+ # @param include_unusual [Boolean] If true, may produce an unusual (definitely not olympic) sport
11
+ #
12
+ # @return [String]
13
+ #
14
+ # @example
15
+ # Faker::Sport.sport #=> "Football"
16
+ # @example
17
+ # Faker::Sport.sport(include_ancient: true) #=> "Chariot racing"
18
+ # @example
19
+ # Faker::Sport.sport(include_unsual: true) #=> "Flugtag/Birdman"
20
+ # @example
21
+ # Faker::Sport.sport(include_ancient:true, include_unusual: true) #=> "Water polo"
22
+ #
23
+ # @faker.version next
24
+ def sport(include_ancient: false, include_unusual: false)
25
+ sports = fetch_all('sport.summer_olympics') + fetch_all('sport.winter_olympics') + fetch_all('sport.summer_paralympics') + fetch_all('sport.winter_paralympics')
26
+ sports << fetch_all('sport.ancient_olympics') if include_ancient
27
+ sports << fetch_all('sport.unusual') if include_unusual
28
+ sample(sports)
29
+ end
30
+
31
+ ##
32
+ # Produces a sport from the summer olympics.
33
+ #
34
+ # @return [String]
35
+ #
36
+ # @example
37
+ # Faker::Sport.summer_olympics_sport #=> "Archery"
38
+ #
39
+ # @faker.version next
40
+ def summer_olympics_sport
41
+ fetch('sport.summer_olympics')
42
+ end
43
+
44
+ ##
45
+ # Produces a sport from the winter olympics.
46
+ #
47
+ # @return [String]
48
+ #
49
+ # @example
50
+ # Faker::Sport.winter_olympics_sport #=> "Bobsleigh"
51
+ #
52
+ # @faker.version next
53
+ def winter_olympics_sport
54
+ fetch('sport.winter_olympics')
55
+ end
56
+
57
+ ##
58
+ # Produces a sport from the summer paralympics.
59
+ #
60
+ # @return [String]
61
+ #
62
+ # @example
63
+ # Faker::Sport.summer_paralympics_sport #=> "Wheelchair Basketball"
64
+ #
65
+ # @faker.version next
66
+ def summer_paralympics_sport
67
+ fetch('sport.summer_paralympics')
68
+ end
69
+
70
+ ##
71
+ # Produces a sport from the winter paralympics.
72
+ #
73
+ # @return [String]
74
+ #
75
+ # @example
76
+ # Faker::Sport.winter_paralympics_sport #=> "Para Ice Hockey"
77
+ #
78
+ # @faker.version next
79
+ def winter_paralympics_sport
80
+ fetch('sport.winter_paralympics')
81
+ end
82
+
83
+ ##
84
+ # Produces an unusual sport.
85
+ #
86
+ # @return [String]
87
+ #
88
+ # @example
89
+ # Faker::Sport.unusual_sport #=> "Camel Jumping"
90
+ #
91
+ # @faker.version next
92
+ def unusual_sport
93
+ fetch('sport.unusual')
94
+ end
95
+
96
+ ##
97
+ # Produces a sport from the ancient olympics.
98
+ #
99
+ # @return [String]
100
+ #
101
+ # @example
102
+ # Faker::Sport.ancient_olympics_sport #=> "Pankration"
103
+ #
104
+ # @faker.version next
105
+ def ancient_olympics_sport
106
+ fetch('sport.ancient_olympics')
107
+ end
108
+ end
109
+ end
110
+ end
data/lib/faker/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Faker # :nodoc:
4
- VERSION = '2.20.0'
4
+ VERSION = '3.0.0'
5
5
  end